https://testerhome.com/photos这个 URL 返回{"status":500,"error":"Internal Server Error"}
更新,现在已经正常了。

请求https://testerhome.com/photos一直返回错误,本来应该返回正常的图片地址的。就像这样{"ok":true,"url":"/uploads/photo/2018/11a225bf-3b2d-4b52-94ac-2200b3e54011.png!large"}

昨晚上下班的时候本来想发个帖子的,但是死活上传不了图片,今天有时间说下具体过程吧。

  1. 我在本地用 markdown 编辑好了内容(包含了本地的图片链接![建项目-](图片/新建项目-1.png)
  2. 将本地的 markdown 源码粘贴到编辑区,然后保存草稿
  3. 打开草稿进行编辑,并在本地图片链接附近上传图片
  4. 上传请求了两个地址,一个正常,另一个一直返回 500 错误(查看请求二)

请求一
应该是上传图片具体内容的请求

请求二

# 请求
# url
https://testerhome.com/photos
# header
POST /photos HTTP/1.1
Host: testerhome.com
Connection: keep-alive
Content-Length: 75369
Origin: https://testerhome.com
X-CSRF-Token: pFrbF9MptWSVHkTvsX1G7fFMylfnnegjDjZja0WLNgKfd91gPvUgN+Rg6lzsHd/Eoojqmb8Uj2Twe8lz44iVPg==
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBXVQn0i2zMAHmDNm
Accept: application/json
Cache-Control: no-cache
X-Requested-With: XMLHttpRequest
Referer: https://testerhome.com/topics/14916/edit
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: _ga=GA1.2.1462602295.1530530979; _gid=GA1.2.802003267.1530530979; remember_user_token=eyJfcmFpbHMiOnsibWVzc2FnZSI6Ilcxc3hPVEV6TjEwc0lpUXlZU1F4TUNRNWRVdElObGs0Y1d4VWF5NUlTSEkzUzBkdFFteGxJaXdpTVRVek1EVXpNRGs0TXk0d09UZ3lNVFVpWFE9PSIsImV4cCI6IjIwMTgtMDktMDJUMTE6Mjk6NDMuMDk4WiIsInB1ciI6bnVsbH19--bbc0333df3bb10bbada3b2d6ea14bb9a2cd9d918; user_id=MTkxMzc%3D--e046dbd7e591f68cf1f3cb11318c2411352a5456; _gat=1; _homeland_session=Z%2B%2B6qLMFYvZmmGSey%2FlMIN0oy0bze0VVxaosTmWpVY9bsVpStZV16%2BwJlStM7zwA8e3hYHBZVZw%2BnG2JUmUJjzrx9VqLXwHENnKp3HR6yhB1C%2BGu0gaNm46hopLuP5pWLQWjk5Y0EoOcpXGm9VvHGpDEd%2Bo8k40Mnj1uYajAyuLxZzH1lfHeMUKHQZBVR1OK55mpdd9dpOGNft9xmS%2FZWhZrSgKLENg017Apl0GkEci8mo3kCTmcyFW4U5uRJqJLqPRdQd3ugH4TKuKaFNNSTAo7uXpAAuiv5ZMwbDXf4Cch5OQLeVCkUPEv3hIMCH2Q0z91gfEUfY2cRfJvvl3c23PNmvARyIQrLB7k4zcTXaPWZuPYZ4TdFuknSucvd%2BVBzUCNs%2FM07b1Y2VIEpNuMSyY%3D--6dwST09feaEk5rlL--Nk1jNSVVec0jHzqNHPaT5g%3D%3D
# 报文
------WebKitFormBoundaryBXVQn0i2zMAHmDNmContent-Disposition: form-data; name=\"file\"; filename=\"新建项目-1.png\"Content-Type: image/png------WebKitFormBoundaryBXVQn0i2zMAHmDNm--
# 返回
# header
HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.2
Date: Tue, 03 Jul 2018 01:10:03 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 46
Connection: keep-alive
X-Request-Id: 1d930ac1-d757-40d5-b0b8-6c6e440a6cef
X-Runtime: 0.524715
Strict-Transport-Security: max-age=15552000; includeSubDomains
# 报文
{"status":500,"error":"Internal Server Error"}

再次编辑:

  1. 本来以为是整体现象,因为我想上传的一批图片都是无法上传
  2. 后来发现有一张竟然可以,恰巧这张是没有中文的文件图片,所以以为是中文文件名导致。
  3. 后续得到回复跟中文也没关系,于是进行了更多尝试,把原来可以上传不含中文的加上中文,不能上传的含中文文件的去掉中文,发现确实跟中文没什么关系。
  4. 最后仔细回想了下,不含中文的都是截图的原始文件,而含中文的都是我用 win7 自带的画图程序编辑过的!
  5. 但是我又尝试在 win7 截图,然后画图程序编辑也没有什么问题。。
  6. 再回想,有问题的都是先在 Mac 截图,然后传到 windows 画图程序编辑的。。

所以,重现步骤如下:

  1. 在 Mac 上用command+shift+4进行截图
  2. 将截图文件通过 QQ 传到 windows
  3. 在 win7 上用画图程序进行编辑保存
  4. 使用编辑后的文件进行保存,就会出现 500 错误


具体原因那可能估计跟图片格式有点关系了,我把原图和编辑后的图片都传到网盘了:https://share.weiyun.com/5VqrwVA


↙↙↙阅读原文可查看相关链接,并与作者交流