微信小程序formdata格式请求

使用wx.uploadFile实现

javascript 复制代码
    wx.uploadFile({
      url: 'https://接口地址', //上传服务器地址
      filePath: '', //要上传文件资源的路径(本地路径)
      name: 'file', //文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
      header: { //HTTP 请求 Header,Header 中不能设置 Referer
        Authorization: 'Bearer token' //权限
      },
      formData: {//HTTP 请求中其他额外的 form data
        'test': 'test',
     	'test1': 'test1',
         ...
      },
      //上传成功回调
      success: (res) => {
        //上传成功
        console.log('success')
        console.log(res)
		//res.data为字符串
        var data = JSON.parse(res.data); //字符串转为对象
      },
      //上传失败回调
      fail: function(err) {
     	console.log('fail')
        console.log(err);
      },
    })

使用wx.request封装formdata数据

下载

formData.js mimeMap.js

页面中引入js文件

复制代码
const FormData = require('./formData.js')   根据您存放的位置进行引入哟

使用

1、new一个FormData对象
复制代码
let formData = new FormData();
2、调用它的append()方法来添加字段或者调用appendFile()方法添加文件
复制代码
// name	value中包含的数据对应的表单名称;value 表单的值
formData.append("name", "value"); 

//name	value中包含的数据对应的表单名称;filepath	文件路径;fileName 文件名【可选】
formData.appendFile("file", filepath, "文件名"); 
3、添加完成后调用它的getData()生成上传数据
复制代码
//返回值对象属性:buffer	表单数据的ArrayBuffer对象;contentType  http请求Content-Type头部内容
let data = formData.getData();
4、调用小程序的wx.request提交请求
javascript 复制代码
wx.request({
  url: 'https://接口地址',
  header: {
    'content-type': data.contentType
  },
  data: data.buffer,
  success: res => {
  },
  fail: err => {
  }
});
相关推荐
拾光拾趣录4 分钟前
for..in 和 Object.keys 的区别:从“遍历对象属性的坑”说起
前端·javascript
OpenTiny社区15 分钟前
把 SearchBox 塞进项目,搜索转化率怒涨 400%?
前端·vue.js·github
编程猪猪侠44 分钟前
Tailwind CSS 自定义工具类与主题配置指南
前端·css
qhd吴飞1 小时前
mybatis 差异更新法
java·前端·mybatis
YGY Webgis糕手之路1 小时前
OpenLayers 快速入门(九)Extent 介绍
前端·经验分享·笔记·vue·web
患得患失9491 小时前
【前端】【vueDevTools】使用 vueDevTools 插件并修改默认打开编辑器
前端·编辑器
ReturnTrue8681 小时前
Vue路由状态持久化方案,优雅实现记住表单历史搜索记录!
前端·vue.js
UncleKyrie1 小时前
一个浏览器插件帮你查看Figma设计稿代码图片和转码
前端
遂心_1 小时前
深入解析前后端分离中的 /api 设计:从路由到代理的完整指南
前端·javascript·api
你听得到112 小时前
Flutter - 手搓一个日历组件,集成单日选择、日期范围选择、国际化、农历和节气显示
前端·flutter·架构