详细描述:
使用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
},
});
问taro去,小程序原生没问题