1. 程式人生 > >nginx配置導致ios上傳不了圖片

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.csdn.net/tim_phper/article/details/51992986