收藏
回答

小程序上传图片时无法正确携带formDate信息这是为什么呢?

详细描述:

使用uploadFile上传文件时,请求体中没有formData信息,这导致服务端无法获取到文件数据,而报 “Required part 'file' is not present”

正常来说,控制台这里应该有 payload选项,包含 fileClassify 和 file (binary) 吧,但是这里没有。

这是上传图片的代码(需要的参数确定没问题):

      const localUrls = getUrlByType(allUrl, 'local');
    // const urls = await request.file.uploadFile({urls: localUrls, fileClassify: FileClassifyEnum.QUEUE, promiseMothod: 'allSettled'});
    const uploadFileUrl = `${(getServiceInfo().url as string)}/api/file/aliyunoss/upload`;
    const { verification, iv } = await store.getEncryptedText();
    Taro.uploadFile({
      url: uploadFileUrl, //  服务器上传路径也确定没问题
      filePath: localUrls[0], //  这里能确定能拿到文件的临时路径
      name: 'file', // 服务端也使用file属性来获取文件的二进制数据
      header: {
        userId: Taro.getStorageSync('userId'),
        Authorization: Taro.getStorageSync('Authorization'),
        verification,
        iv
      },
      formData: {
        fileClassify: FileClassifyEnum.QUEUE
      },
    });


最后一次编辑于  10小时前
回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    4小时前

    问taro去,小程序原生没问题

    4小时前
    有用
    回复
  • 智能回答 智能回答 该问答由AI生成
    10小时前
    有用
登录 后发表内容