zoukankan      html  css  js  c++  java
  • fetch 上传图片 失败 bug解析

    最近在使用Taro开发上传头像功能时,发现使用 Taro.request 上传 formData 数据失败,进行原因发现,Taro.request 底层是通过封装 fetch实现的。

    fetch 作为浏览器自身提供的api,当传入的参数为 formDate 格式时,不可手动设置content-type

    方案一:删除 header 中的 content-type

    if (isFormData) {
      /**
       * fetch bug:当输入为formData格式时,不可手动设置content-type
       */
      delete header["content-type"];
    }

    方案二:通过创建 xhr 对象实现

    export const upLoadImage = (formData): Promise<any> =>
      new Promise(function(resolve, reject) {
        const request = new XMLHttpRequest();
        request.onreadystatechange = () => {
          if (request.readyState === 4 && request.status === 200) {
            const result = JSON.parse(request.responseText);
            resolve(result);
          }
        };
        request.open("POST", API_MINE_SAVE_IMAGE);
        request.setRequestHeader(
          "Authorization",
          `Bearer ${Taro.getStorageSync("token")}`
        );
        request.onerror = err => {
          reject(err);
        }; //发送请求
        request.send(formData);
      });

    .

  • 相关阅读:
    【18焦作网络赛 J】 大数开方
    最小圆覆盖
    高斯消元
    回文自动机 PAM
    后缀自动机 SAM
    后缀数组 SA
    左偏树(可并堆)
    动态树LCT(Link-Cut-Tree)
    职场自我推销10大金点子
    数据库笔记
  • 原文地址:https://www.cnblogs.com/crazycode2/p/14677385.html
Copyright © 2011-2022 走看看