下載就是簡單的圖片下載, 返回給設備的json如下:
{ "data": { "users": [ { "creation_time": 1623225536000, "last_modified_time": 1623225536000, "is_deleted": false, "person_ext_info": {}, "person_name": "xxx", "faces": [ { "face_id": 67, "face_img_url": "http://192.168.2.10:8082/device/face_image?userkey=67" } ], "person_id": 67 }, { "creation_time": 1623225536000, "last_modified_time": 1623225536000, "is_deleted": false, "person_ext_info": {}, "person_name": "xxxx", "faces": [ { "face_id": 60, "face_img_url": "http://192.168.2.10:8082/device/face_image?userkey=60" } ], "person_id": 60 } ] }, "success": true, "message": "操作成功" }
這是本地的返回, 上周就正常, 但雲服務器失敗了一周.
第一個原因: GSON默認開啟html字符轉換, =60 變成了 \U021s之類的. 坑爹啊, 關鍵本地也沒關html字符轉換, 但它是正常的! 這可能就是操作系統不一樣導致的.
第二個原因: 服務器用了nginx代理, https在nginx上, 到tomcat里獲取的request.getScheme()是http, 導致拼出的網址設備拿來請求無法下載圖片, 犀利的是瀏覽器自動識別, 一直都能下載圖片[捂臉哭]