【发布时间】:2013-07-04 10:13:00
【问题描述】:
我遇到了从服务器下载图像的问题。我正在尝试使用以下 URL 下载图像:
[HOST]/<path to the image>/3cadda28-a334-400b-9d96-8f6dda938dec/
如您所见,图像以斜线结尾。当尝试通过执行此代码下载此图像时:
NSURL *imageUrl = [[NSURL alloc] initWithString:@"[HOST]/<path to the image>/3cadda28-a334-400b-9d96-8f6dda938dec/"];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:imageUrl cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:BkRemoteImageViewDefaultTimeoutInteval];
[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
连接失败并启动协议方法:
- (void)connection:(NSURLConnection *)aConnection didFailWithError:(NSError *)error
错误代码404。我的假设是加载的 URL 是:
[HOST]/<path to the image>/3cadda28-a334-400b-9d96-8f6dda938dec
(没有最后一个“斜线”)而不是
[HOST]/<path to the image>/3cadda28-a334-400b-9d96-8f6dda938dec/
没有最后一个斜杠的路径不是有效对象,因此是404 问题。
我不知道如何纠正这个问题。有什么想法吗?
【问题讨论】:
-
是否从
initWithString:呼叫帮助中删除斜线? -
好吧,首先排除斜线?
-
不也不起作用
-
我认为当您请求特定资源时状态码 404 是正确的,例如 ID 为“3cadda28-a334-400b-9d96-8f6dda938dec”,并且 URL 以斜杠结尾。如果该资源映射到“容器”,则应包含尾随“/”。 “没有最后一个斜杠的路径不是有效对象”是什么意思?
-
@CouchDeveloper,我的意思是资源名称是“3cadda28-a334-400b-9d96-8f6dda938dec/”,如果您尝试访问名为“3cadda28-a334-400b-9d96”的对象-8f6dda938dec",然后会出现 404 问题,因为这不是正确的资源名称。
标签: objective-c nsurlconnection