【JS】Vue图片上传

 

参考资料https://www.cnblogs.com/otis-oc/p/10388650.html

https://blog.csdn.net/danby2/article/details/104529713/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242

 

使用的vant插件上传图片,回调返回的是base64信息,在此基础上请求接口上传

  • base64转file

  • formData

  • multipart/form-data + post

  • withCredentials 跨域请求设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function base64ToFile(urlData, fileName) {
  let arr = urlData.split(',');
  let mime = arr[0].match(/:(.*?);/)[1];
  let bytes = atob(arr[1]); // 解码base64
  let n = bytes.length
  let ia = new Uint8Array(n);
  while (n--) {
    ia[n] = bytes.charCodeAt(n);
  }
  return new File([ia], fileName, { type: mime });
}
 
// base64转file
let filePath  = base64ToFile(file.content, '图片名称')
 
// formdata提交
    let param = new FormData();
    param.append('file', filePath);
    param.append('data', pramas.data);
    param.append('verify', pramas.verify);
 
// 请求
    axios({
      filePath: filePath,
      method: 'post',
      url: CONFIG.uploadUrl + 'images/upload',
      headers: {
        'Content-Type': 'multipart/form-data'
      },
      responseType: 'json',
      withCredentials: true,
      data: param,
    }).then ...

  

Content-Type四种常见取值

  • application/x-www-form-urlencoded :最常见 POST 提交数据的方式。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

  • multipart/form-data :另一种非常常见的 POST 数据提交的方式。我们在使用表单上传文件时,必须让 form 的 enctyped 等于这个值。

  • application/json :可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口;也有些服务端语言还没有支持这种方式,例如 php 就无法通过 $POST 对象获得内容。这时候,需要自己动手处理下:在请求头中 Content-Type 为 application/json 时,从 php://input 里获得原始输入流,再 jsondecode 成对象。

 

posted @   蓝色星辰1993  阅读(103)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示