const uploadTask = uni.uploadFile({
url: `${BASE_URL}/${options.fileType === "quick" ? "fileTransfer" : "upload"}`,
name: "upload_file_iot",
filePath: options.filePath,
formData: {
file_name: Base64.encode(options.fileName),
times: options.type.includes("video") ? "1" : "10",
duration: options.type.includes("video") ? "1" : "10"
},
timeout: 3000000,
success: (res) => {
console.log("res-----", res);
const data = JSON.parse(res.data);
if (data.success) {
progressHandlers.forEach((func) => func({ progress: 100, totalBytesExpectedToSend: options.fileSize, totalBytesSent: options.fileSize }));
options.success && options.success(res);
} else {
uni.showToast({
title: data.message
});
options?.fail?.(data.message);
}
},
fail: (err) => {
options?.fail?.(err);
if (err.errMsg.includes("abort")) {
uni.showToast({
title: "上传失败,用户取消上传"
});
return;
}
uni.showToast({
title: "文件上传失败,请检查网络后重试"
});
},
complete: (data) => {
options?.complete?.(data);
clearInterval(timeTask);
console.log(data);
}

- 发布:2025-06-27 17:02
- 更新:42 分钟前
- 阅读:24
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows 10 专业版 22H2
HBuilderX类型: 正式
HBuilderX版本号: 4.66
浏览器平台: 微信内置浏览器
浏览器版本: ios 18.5 微信版本 8.0.60
项目创建方式: HBuilderX
示例代码:
操作步骤:
uni.chooseFile 选择文件后上传
uni.chooseFile 选择文件后上传
预期结果:
预期成功上传
预期成功上传
实际结果:
上传失败
上传失败
bug描述:
uni.uploadFile 在 ios18.5 微信版本8.0.60 内置浏览器 、 safari QQ 浏览器 中上传文件 失败 , android 下成功上传、ios 下 百度、uc 成功上传
没有详细报错直接 走fail failMsg: upload falil
1 个回复
DCloud_UNI_yuhe
你可以链接手机调试看一下,成功的网络请求和不成功的网络请求,差别是什么