首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue中上传文件_vue上传文件前端完整实例

vue中上传文件_vue上传文件前端完整实例

作者头像
全栈程序员站长
发布2022-09-22 21:46:52
发布2022-09-22 21:46:52
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

input[type=“file”]上传文件原理详解https://blog.csdn.net/weixin_42193004/article/details/96275626

formData:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects

结果:

代码:

代码语言:javascript
代码运行次数:0
运行
复制
<div>
                  <span>上传文件:</span>
                  <a class="upload" id="up_btn">
                    <input type="file" @change="uploadFile()" class="change" id="file1" />
                    选择文件
                  </a>

                  <a
                    :href="this.config.hostfile + file1.FilePath"
                    :download="file1.SysFileName"
                    target="_blank"
                    class="file2"
                  >{
  
  {file1.OriginName}}</a>
                </div>


import axios from "axios";
data() {
    return {
      file1: {
        name: "",
        url: "",
        download: "",
      }
      }
      }
methods:{
 uploadFile() {
      let f = document.getElementById("file1");
      if (f.files) {
        let fileList = f.files;
        let formData = new FormData();  //创建空对象
        for (let i = 0; i < fileList.length; i++) {
          //如需判断文件就在这判断 现在不判断
          formData.append("film", fileList[i]);
        }
        axios
          .post(文件上传接口, formData)
          .then((res) => {
            if (res.data.Success) {
              this.file1 = res.data.Result;
            } else {
              this.$message.error(res.Msg || "获取数据失败,无法上传");
            }
          })
          .catch((err) => {
            console.log(err);
            this.$message.error("无法上传");
          });
      }
    }
}

.upload {
  padding: 4px 10px;
  height: 20px;
  background-color: #00b3ee;
  color: #fff;
  position: relative;
}
.change {
  position: absolute;
  top: 0;
  left: 0px;
  overflow: hidden;
  opacity: 0;
  width: 76px;
  height: 24px;
}
.file2{
  padding-left: 10px;
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170634.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档