建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

在南方逍遥

发帖: 11粉丝: 0

发消息 + 关注

发表于2021年01月11日 17:43:50 55 1
直达本楼层的链接
楼主
显示全部楼层
[问题求助] Internet如何post一个headers为multipart/form-data的请求


用<aui-file-upload>上传组件选择了文件,给http-request属性绑定了事件,在事件中有formdata

调用HWH5.fetchInternet后, 在network中看body并不是FormData而是RequestPayload


    /** 自定义上传请求 用于覆盖默认的上传行为 */
    customizeUploadRequest(data) {
      let fileData = data.file;
      let actionData = data.action;

      let myFormData = new FormData();
      myFormData.append('object'fileData);
      myFormData.append('dir''');

      HWH5.fetchInternet(actionData, {
        // 请求方法
        method: 'post',
        headers: {
          'Content-Type': 'multipart/form-data'
        },
        body: myFormData
      })
        .then(res => {
          res.json().then(reply => {
            console.log('上传请求结果: 'reply);
            this.textData = JSON.stringify(reply);
          });
        })
        .catch(error => {
          console.log('请求异常'error);
          this.textData = JSON.stringify(error);
        });

    } // func end


image.png


举报
分享

分享文章到朋友圈

分享文章到微博

在南方逍遥

发帖: 11粉丝: 0

发消息 + 关注

发表于2021年01月12日 11:34:45
直达本楼层的链接
沙发
显示全部楼层

已解决,自定义上传文件改用XMLHttpRequest对象实现。

参考代码

    /** 自定义上传请求 用于覆盖默认的上传行为 */
    customizeUploadRequest(param) {
      console.log('customize', param);
      var fileData = param.file;
      var actionData = param.action;
      var headersData = param.headers;

      // headersData['Content-Type'] = 'multipart/form-data';

      // 通过 FormData 对象 发送请求body
      var myFormData = new FormData();
      myFormData.append('object', fileData);

      // XMLHttpRequest 对象
      var xhr = new XMLHttpRequest();

      // open(method, url, async)
      // 【注】async=true表示异步加载、不等待服务器响应
      xhr.open('post', actionData, false);

      // 设置请求头
      xhr.setRequestHeader('access-token', headersData['access-token']);

      xhr.send(myFormData);
      
      // 获取response body
      this.textData = xhr.responseText;
      
    }, // func end


点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册