美文网首页
VUE-文件下载和上传

VUE-文件下载和上传

作者: 你这个锤子 | 来源:发表于2024-01-14 10:09 被阅读0次
上传文件接口的axios封装

主要是 responseType: 'blob' 决定接口返回的数据类型

export function postJsonFetchImport(url, params) {
  return new Promise((resolve, reject) => {
    axios.post(url, params, {
      headers: {
        "content-type": "application/x-www-form-urlencoded"
      },
      responseType: 'blob' // 设置服务器响应的数据类型为blob
    })
      .then(
        (response) => resolve(response.data),
        (err) => reject(err)
      )
      .catch((error) => reject(error))
  })
}
实际调用
/** 上传表格文件模板 */
const startingImportFile = async () => {
   let formData = new FormData(); // 创建FormData对象
   formData.append('file', fileList.value[0].originFileObj); // 添加文件到表单数据中
   formData.append('viewId', 'viewId'); // 添加文件到表单数据中
   res = await urls.importUndergraduateCourse(formData)
   if (!res.size) { // 与后端开发约定,接口调用成功后什么都不返回
    message.success("文件上传成功!");
   } else { // 失败后返回失败原因文件
    message.error("文件上传失败!");

    // 下面是接口返回错误提示的文件信息,如果直接返回字符串提示就没必要添加
    wrongFile.value = new Blob([res], { type: 'application/vnd.ms-excel' }); // 
    let u = window.URL.createObjectURL(wrongFile.value); //创建一个新的 URL 对象
    let aLink = document.createElement("a"); //在页面上生成一个a标签并指定href为上面的url,然后模拟点击,以实现自动下载
    aLink.style.display = "none"; //隐藏
    aLink.href = u;
    aLink.setAttribute("download", "校验有误数据.xlsx");
    document.body.appendChild(aLink);
    aLink.click();
    document.body.removeChild(aLink);
    window.URL.revokeObjectURL(u);  //删除a标签节点
  }
}

注意点:
不同组件库中上传文件组件 上传前(beforeUpload) 事件返回的文件格式是不一样的,但是传给后端的时候要确保 文件参数的内容 是下图的格式(单个文件的时候)


image.png

相关文章

  • java文件下载上传

    文件上传 App图片上传 html文件上传 文件下载 文件下载 版本控制 xml版本控制

  • SSH上传下载命令

    上传文件 下载文件 上传目录 下载目录

  • 文件上传和下载

    一.项目用到的图片上传的关键方法:直接使用android-async-http.jar 二、文件下载 1.普通单线...

  • 文件上传和下载

    iview的upload组件中上传前添加提示信息,确认后再进行上传https://blog.csdn.net/we...

  • 文件上传和下载

    一、概论 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载...

  • 文件上传和下载

    文件上传 文件上传涉及到前台页面的编写和后台服务器端代码的编写,前台发送文件,后台接收并保存文件,这才是一个完整的...

  • 文件上传与下载

    文件上传和下载 文件上传和下载是JAVA WEB中常见的一种操作,文件上传主要是将文件通过IO流传输到服务器的某一...

  • SpringMVC之文件上传和下载

    十一、文件上传和下载 目录:准备工作、文件上传、文件下载 1.准备工作 文件上传是项目开发中最常见的功能之一,Sp...

  • java_io 涉及到文件(txt,图片)上传,下载,读取文件,

    java_io 涉及到文件(txt,图片)上传,下载,读取文件,excel上传和下载 字符流和字节流 UML 字符...

  • SpringMVC之文件上传和下载

    SpringMVC实现文件的上传和下载相对于JavaWeb阶段我们使用过servlet实现文件上传和下载操作;而S...

网友评论

      本文标题:VUE-文件下载和上传

      本文链接:https://www.haomeiwen.com/subject/pqpimctx.html