uni-app APP uploadFile上传图片一直报错errMsg:"uploadFile:fail undefined"
uni-app APP uploadFile上传图片一直报错errMsg:“uploadFile:fail undefined”
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:2.8.13
手机系统:Android
手机系统版本号:Android 10
手机厂商:小米
手机机型:小米9SE
页面类型:vue
打包方式:云端
操作步骤:
- uni.chooseImage选择图片,uploadFile上传
预期结果:
- success
实际结果:
- fail : errMsg":"uploadFile:fail undefined
uni.chooseImage({
count:1, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
uni.showLoading({
title:'正在上传...',
mask:true
})
let times=Math.round(new Date() / 1000);//时间戳;
uni.uploadFile({
url: 'xxx',
filePath:res.tempFilePaths[0],
name: 'pic',
formData: {timestamp:times,token: token },
success: (res) => {
console.log(res);
uni.hideLoading();
},
fail(r){
uni.hideLoading();
console.log(r);
}
})
}
})
更多关于uni-app APP uploadFile上传图片一直报错errMsg:"uploadFile:fail undefined"的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了么,我在安卓上上传视频不行,传照片可以
更多关于uni-app APP uploadFile上传图片一直报错errMsg:"uploadFile:fail undefined"的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也想问,不知道咋回事?
排查下,上传的url是否写完整?
试了,也不行
同问
我是打包成H5上传不了,app和pc调试都没问题,楼长解决了吗???,一样的错误
加我qq1661875259
回复 1***@qq.com: 哥们你有解决方法么
这个是uni.uploadFile估计忘了过原来那条路了。
可以在main.js里重写:
const originalUploadFile=uni.uploadFile;
uni.uploadFile=function (location){
location.url=Vue.prototype.baseURL+location.url;
return originalUploadFile.call(this, location);
}
不行,没效果
我找到了还有个原因,也可能文件太大,也会报这个错误
(手机为小米)
具体的原因如下
1、服务器配置限制了2M的文件大小,
2、从相册中选择照片的时候,文件已经优化了只有一两兆,但是从摄像头临时拍摄的相片是在5M左右,这个可以从打印的具体文件路径去找
解决办法就是上传之前压缩文件
参考https://www.cnblogs.com/Lucyy/p/12787381.html
大文件 uploadFile:fail 什么原因。 大概80M左右
解决这种报错可分两步:先检查上传url是否合法,然后再检查url是否包含本地搭建的虚拟域名即可,一般报错原因是使用本地搭建的虚拟域名,它其实指向127.0.0.1,在真实网络中通过这个是无法发现服务端的,所以失败,解决方法就是换成Ip地址即可。
这个错误通常是由于上传接口配置或网络问题导致的。以下是可能的原因和解决方案:
- 检查上传URL是否正确
- 确保url参数是完整的接口地址(你代码中写的是’xxx’)
- 如果是本地测试,确保使用http://或https://开头的完整URL
- 检查服务器配置
- 确认服务器端已正确配置跨域(CORS)
- 检查服务器接口是否能正常接收文件上传
- 检查网络权限
- 在manifest.json中确保已勾选网络请求权限
- 如果是https接口,确保证书有效
- 其他常见问题
- 文件路径问题:确认res.tempFilePaths[0]确实存在
- 文件大小限制:检查服务器是否有文件大小限制
- 请求超时:可以添加timeout参数
建议调试方法:
- 先用Postman测试接口是否正常
- 打印完整错误信息:
fail(r){
console.log(JSON.stringify(r));
}