2***@qq.com
2***@qq.com
  • 发布:2018-11-23 14:58
  • 更新:2019-12-05 14:31
  • 阅读:12105

【已解决】uni.uploadFile 苹果ios图片上传不成功

分类:uni-app

安卓正常上传,苹果里我到相册里选了一张20k的图片,服务器都得不到数据,服务器端是PHP,$_FILES居然是空的,下面是简单的代码
openPic(){
var that = this;
uni.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
sizeType: ['compressed'],
success: function(chooseImageRes) {
const tempFilePaths = chooseImageRes.tempFilePaths;
that.photo_path = tempFilePaths[0];
that.compressUploadFile();
}
});
},
async compressUploadFile(category_id) {
var that = this;
var imageUrl = that.photo_path;
console.log(that.photo_path);

            const uploadTask = uni.uploadFile({  
                url: api_path+'a=UserListios&m=upload&category_id='+category_id+'&token=b8663711bc743dae46c43287f52200ae',   
                header: {  
                    'content-type': 'multipart/form-data'  
                },  
                filePath: imageUrl,  
                name: 'pic',  
                success: (uploadFileRes) => {  
                    console.log(JSON.stringify(uploadFileRes));  
                },  
                fail:(res)=>{  
                    console.log('fail');  
                },  
                complete:(res)=>{  
                    console.log('complete');  
                }  
            });  

        }
2018-11-23 14:58 负责人:无 分享
已邀请:
marconiho

marconiho

修改之前安卓可以正常上传,苹果一直失败。

我这边既不是大写,也不是因为header: {
'content-type': 'multipart/form-data'
},

原代码
uni.uploadFile({
url: http.baseUrl '/teacher/file/upload',
filePath: tempFilePaths[0],
name: 'file',
formData: {
'file': tempFilePaths[0],
'type': 'image',
},
success: (uploadFileRes) => {}
})

服务器端需要 file 和 type 两个字段,然后我就填在了formData里面,结果后台报错 file的size 为-1;
然后我就去掉了 formData里面的file 结果安卓跟苹果就都成功了

修改
uni.uploadFile({
url: http.baseUrl '/teacher/file/upload',
filePath: tempFilePaths[0],
name: 'file',
formData: {
// 'file': tempFilePaths[0],
'type': 'image',
},
success: (uploadFileRes) => {}
})

  • 哈啦休

    我觉得你是对的,哈哈,谢谢您的回答,我解决了

    2020-01-11 01:15

Trust

Trust - 少说废话

1、检查下服务器的配置,是不是限制了文件大小。
2、提供一下上传不了的图片文件,方便这边测试确认下。

  • zzzzzfreea

    ios 10.21兼容性不好

    2019-12-10 13:33

2***@qq.com

2***@qq.com (作者)

终于解决苹果中多了如下代码就上传不了
header: {
'content-type': 'multipart/form-data'
},

  • y***@100to.com

    HX.1.6.2.20190220 還是有錯,卡死,閃退。安卓正常

    2019-03-02 20:14

  • 回首半生仍年少

    回复 y***@100to.com: 请问你最后有解决闪退此问题吗?我目前也遇到了同样的问题。

    2019-05-16 18:31

  • 1***@qq.com

    我去掉之后'content-type': 'multipart/form-data',后台能接收到了文件,但是后台说报错了,可是安卓好好的,能帮忙解绝一下吗

    2019-11-23 16:31

4***@qq.com

4***@qq.com - 嗯嗯

ios13上传失败问题怎么解决的?

  • zzzzzfreea

    问题解决了吗?

    2019-12-10 16:33

2***@qq.com

2***@qq.com - 80后it男

我的问题解决了,原因是ios上传的是大写后缀,后端服务器不认,要后端修改后缀转译或者接受大写后缀。

该问题目前已经被锁定, 无法添加新回复