我是iphone开发的新手。我正在开发一个iphone应用程序,我正在使用php web服务从服务器下载文件。所以我得到响应作为编码字节,我正在解码响应并将其存储为iphone中的文件。
适用于最大2 MB的小尺寸文件。但对于文件而言,下载和解码需要很长时间。
请任何人告诉我如何为大文件做这件事..
是否有更快的方法可以从Web服务下载大文件???
答案 0 :(得分:3)
尝试使用
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
并实现委托方法
1. - (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)incrementalData;
2. - (void)connection: (NSURLConnection*) connection didReceiveResponse: (NSHTTPURLResponse*) response;
3. - (void) connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;
答案 1 :(得分:2)
尝试使用ASIHTTPRequest下载文件。虽然我不能说它是否会让你的下载更快,但它肯定会让它变得更容易。
答案 2 :(得分:2)
我建议使用ASIHTTPRequest库。它只是下载文件背景,您可以启用进度条向用户显示。但要小心你的应用可能会拒绝,因为你不应该通过WAN下载大文件
(Apple建议每5分钟的活动不要超过4.5兆的数据。您可以通过进入iPhone设置,选择General-> Usage菜单并清除统计数据来测试应用程序的使用情况。然后运行您的应用程序5分钟后,返回此屏幕并查看统计信息的内容。此外,为了获得最准确的数字,您应该在运行测试时关闭手机上的任何其他网络活动(例如电子邮件或MobileMe更新)。
Apple悄然将iPhone 3G无线下载限制从10MB增加到20MB,其中包括所有应用,音乐,播客等
答案 3 :(得分:1)
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"];