我是iOS開發的新手,我想知道如何從服務器下載文件,並將其保存在我的應用程序支持文件夾中。我想保留它作爲.pdf文件,以便能夠在UIWebView中顯示它。從服務器下載pdf文件,將其保存在ApplicationSupport目錄中。 iOS
經過很長時間在diferents網站,我想我應該使用NSURLConnection(異步)來下載它。或者NSData(我已經嘗試過了,但沒有奏效)。
那麼,有人可以幫助我,通過向我展示一個這樣的示例代碼?
太謝謝你了:)
我是iOS開發的新手,我想知道如何從服務器下載文件,並將其保存在我的應用程序支持文件夾中。我想保留它作爲.pdf文件,以便能夠在UIWebView中顯示它。從服務器下載pdf文件,將其保存在ApplicationSupport目錄中。 iOS
經過很長時間在diferents網站,我想我應該使用NSURLConnection(異步)來下載它。或者NSData(我已經嘗試過了,但沒有奏效)。
那麼,有人可以幫助我,通過向我展示一個這樣的示例代碼?
太謝謝你了:)
看一看這個S.O. question對於如何做到這一點的例子。
本示例使用ASIHTTPRequest,這是NSURLRequest
和NSURLConnection
的替代方案。我強烈建議你使用這個框架,這會讓你的生活更輕鬆。
如果您確實願意使用NSURLRequest
和NSURLConnection
,請參閱this other topic。
[self.productListArray enumerateObjectsUsingBlock:^(NSDictionary *productDictionary, NSUInteger idx, BOOL *stop)
{
NSFileManager *fileManger=[NSFileManager defaultManager];
if(![fileManger fileExistsAtPath:pdfString])
{
dispatch_async(serialQueue, ^()
{
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:120];
NSURLResponse *response = nil;
NSError *connectionError = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&connectionError];
if(connectionError)
{
NSLog(@"Pdf Connection Error==>%@",connectionError.userInfo);
[AMSharedClass showAlertMessge:@"Request timeout"];
}
else if ([response.MIMEType isEqualToString:@"application/pdf"])
{
NSLog(@"pdfFilePathURLString==>%@",pdfString);
[data writeToFile:pdfString atomically:YES];
}
else
{
[AMSharedClass showAlertMessge:@"Pdf not found."];
if (idx+1 == [self.productListArray count])
{
[self.btnSetting setEnabled:NO];
}
}
if (idx+1 == [self.productListArray count])
{
[[[AMSharedClass object]sharedHUD]hideOnWindow];
self.pdfURLString = [self joinPDF:self.productFilePathUrlArray WithDetails:self.pdfInfoArray];
[self initialConfiguration];
NSLog(@"%@",self.productFilePathUrlArray);
}
});
// Long running task
}
else
{
if (idx+1 == [self.productListArray count])
{
self.pdfURLString = [self joinPDF:self.productFilePathUrlArray WithDetails:self.pdfInfoArray];
[self initialConfiguration];
NSLog(@"%@",self.productFilePathUrlArray);
[[[AMSharedClass object]sharedHUD]hideOnWindow];
}
}
}];
什麼是您正在下載的文件的原始格式?是pdf嗎? – 2011-06-14 07:55:32
是的!該文件存在於服務器上;) – MosHa 2011-06-14 08:05:57