出现的问题:
通过wx.chooseImage获取的图片(压缩或原图), 如果图片为jpg格式, 通过wx.uploadFile上传的图片的content-type类型为image/jpg, 正确类型是image/jpeg .
复现的步骤:
选择图片, 图片是压缩的或者是jpg原图
wx.chooseImage({ count: 1, sizeType: [ 'original' , 'compressed' ], sourceType: [ 'album' , 'camera' ], success: function (res) { var tempFilePaths = res.tempFilePaths that.setData({ cover: tempFilePaths}) } }) |
上传图片, 后台是微信优惠券的图片服务器
var path = this.data.cover
url: '' , filePath: path[0], name: 'image' , header: { "Content-Type" : "multipart/form-data;" , }, success: function (res) { var data = res.data console.log(res.data) } }) |
抓包发现, 凡是jpg的图片的content-type都是image/jpg, 一般服务端都是以image/jpeg来处理jpg图片的, 导致图片上传失败
遇到了同样的问题
我看了下, 标准的MIME的表里面是没有image/jpg的
http://www.w3school.com.cn/media/media_mimeref.asp
上传原图片, 如果原图片是jpeg上传成功, 压缩图片被转成了jpg, 上传不成功
如果使用postman等上传jpg就能上传成功, 它对jpg的图片设置的就是image/jpeg.
上传的微信卡券的服务器, 图片被拒绝了, 提示选的媒体类型是jpg, 并且jpg被拒绝了. jpg的图片基本都是走的image/jpeg的
服务器不能用image/jpg来处理么?