boxmoe_header_banner_img

Hello! 欢迎来到我的博客!

加载中

文章导读

iOS uniapp uni.uploadFile 上传图片遇到的坑


avatar
博主大大 2020年9月5日 9.52k

在开发 uniapp 图片上传功能的时候,遇到 iOS 无法上传图片的问题,然而安卓却可以正常上传图片。

iOS 上传图片失败可能原因

1、图片 后缀 无法识别,例如 jpgJPG 两种格式( iOS 模拟器存在这两种格式图片),后端可能无法识别 JPG 这种格式(叫后端改)
2、没有添加请求头,iOS 上传图片 一定要添加 header

header: {
    content-type : 'multipart/form-data' 
},

3、如果要求 formData 携带额外参数,一定不能有 file 参数
4、后端限制了上传的图片大小(那安卓肯定也传不成功)

附上 iOS 能正常上传图片的代码

uni.uploadFile({
    url: 'https://www.example.com/upload', //仅为示例,非真实的接口地址
    filePath: tempFilePath, // 图片本地路径
    name: 'file', // 写死
    // 请求头一定要加,否则 iOS 图片上传会失败 安卓 可有可无
    header: {
        'content-type': 'multipart/form-data' 
    },
    formData: {
        name: 'xxxxx' // 后端接口要求的名称
        // file: tempFilePath   // 这里一定不能加 file 加了 iOS 图片上传会失败 安卓无此问题
    },
    success: (uploadFileRes) => {
        console.log(uploadFileRes);
    },
    fail: (err) => {
        console.log(err)
    }
});


评论(已关闭)

评论已关闭