nginx配置导致ios上传不了图片
最近开发app遇到一个问题:ios11版本以上的手机上传不了图片;
环境:开发测试阶段所有流程都正常,但项目部署到正式环境linux上时,发现图片怎么都上传不了ftp上,卡了很久,通过Fiddler抓包工具,捕捉到异常(本人电脑不知怎么就是捕捉不到,还导致卡机,还是偶然在其他人电脑上捕捉到的,运气也是开发一种技能呀~~)
异常如下:
解决:
经查明,ios11版本手机拍照,图片格式将为jpeg或heic;开发测试环境,是直接长传到ftp服务器上,而正式发布的生产环境,会经过nignx,所以导致图片上传不上去:
1,增加可上传的图片格式jpeg,heic
2,经过查找文档,发现是图片大小(现在手机高像素,拍照图片一张要3M多)超过了,nginx长传文件有默认最大限制,就算不配置,也会有,因此最好标明大小修改nginx配置;(在这里有些博客说默认最大是1M,有的说2M,我这边的nginx经多次验证是1M)
3,js端控制大小(可以实现前端压缩,网上很多,可自行搜索),并提示(不要想着走服务端提示,因为如果图片大小超出nginx限制,根本走不到服务端接口)
修改配置的方法,不做赘述,网上很多,借鉴这篇博客:
https://blog.****.net/tim_phper/article/details/51992986