Skip to content

wx-formdata

封装库地址 https://github.com/zlyboy/wx-formdata#readme
在小程序中使用formdata上传数据,可实现多文件上传
也可使用最新的ts版formdata库https://www.npmjs.com/package/miniprogram-formdata

用法

跟浏览器中的FormData对象类似 引入js文件

js
const FormData = require('./formData.js')
const FormData = require('./formData.js')

new一个FormData对象

js
let formData = new FormData();
let formData = new FormData();

调用它的append()方法来添加字段或者调用appendFile()方法添加文件

js
formData.append("name", "value");
formData.appendFile("file", filepath, "文件名");
formData.append("name", "value");
formData.appendFile("file", filepath, "文件名");

添加完成后调用它的getData()生成上传数据,之后调用小程序的wx.request提交请求

js
let data = formData.getData();
wx.request({
  url: 'https://接口地址',
  header: {
    'content-type': data.contentType
  },
  data: data.buffer,
});
let data = formData.getData();
wx.request({
  url: 'https://接口地址',
  header: {
    'content-type': data.contentType
  },
  data: data.buffer,
});

成员函数

FormData.append()

语法

js
formData.append(name, value);
formData.append(name, value);

参数

参数名描述
namevalue中包含的数据对应的表单名称
value表单的值

FormData.appendFile()

语法

js
formData.appendFile(name, filepath, fileName);
formData.appendFile(name, filepath, fileName);

参数

参数名描述
namevalue中包含的数据对应的表单名称
filepath文件路径
fileName文件名【可选】

FormData.getData()

语法

js
let data = formData.getData();
let data = formData.getData();

返回值对象属性

属性名描述
buffer表单数据的ArrayBuffer对象
contentTypehttp请求Content-Type头部内容

努力成为全干型人才