【问题标题】:iPhone 5 won't load images from serveriPhone 5 不会从服务器加载图像
【发布时间】:2012-10-11 00:57:14
【问题描述】:

我被难住了,我觉得自己很愚蠢,请帮帮我。

我正在通过 JSON 获取壁纸对象列表。这些壁纸具有我异步加载到网格视图中的图像 URL。都好。示例图像 URL 如下:

http://url.com/desktops/desktops/2012/10/05/beach_iphone_thumb.png

iPhone 4 模拟器:有效。 iPhone 5 模拟器:工作。 iPhone 4 设备:有效。 iPhone 5 设备:不工作。我究竟做错了什么? iPhone 5 设备上的请求响应错误包含以下内容,但响应的 statusCode 为 200:

Error Domain=com.mysite.error Code=-1016 "Expected content type {(
    "image/x-icon",
    "image/ico",
    "image/jpeg",
    "image/png",
    "image/tiff",
    "image/gif",
    "image/x-bmp",
    "image/x-xbitmap",
    "image/bmp",
    "image/x-win-bitmap"
)}, got text/html"

我正在使用 AFNetworking+UIImageView 类别来处理图像加载,但考虑到它适用于模拟器和 iPhone 4 设备,我认为这不是问题。有没有人有任何想法?我是否需要在我的图像名称中附加一些内容才能让 iPhone 5 识别它?谢谢!

【问题讨论】:

  • 如果完全相同的请求在 iPhone 5 硬件上执行的操作与在其他硬件和模拟器上执行的操作不同,则 Web 服务器很可能由于请求中的某些内容而表现不同。也许它正在嗅探用户代理。您可以使用远程数据包捕获来查看对 iPhone 5 的实际响应。developer.apple.com/library/mac/#qa/qa1176/_index.html

标签: iphone xcode uiimageview iphone-5


【解决方案1】:

我尝试加载它,并被重定向到一个 HTML 页面。这与Expected content type ... got text/html 响应一致。如果您知道您没有被重定向并且图像仍未加载,请检查响应标头(终端命令)

$ curl -I http://url.com/desktops/desktops/2012/10/05/beach_iphone_thumb.png

我明白了:

HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.10
Date: Thu, 11 Oct 2012 01:15:30 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: http://search.url.com/desktops/desktops/2012/10/05/beach_iphone_thumb.png

【讨论】:

  • 谢谢;将与我的服务器开发人员一起访问,看看我们是否可以解决问题。 :)
  • 问题不在于 URL,上面的 URL 只是一个示例。假设 URL 有效,IE 我从 curl 请求中得到 200 OK image/png,但我仍然没有在 iPhone 5 设备上看到图像!
猜你喜欢
  • 1970-01-01
  • 2015-02-02
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
相关资源
最近更新 更多