IOS下載查看PDF文件(有下載進度)


IOS(object-c) 下載查看 PDF 其實還是蠻容易操作的。在下載前,首先要把 IOS 可以保存文件的目錄給過一遍:

 

IOS 文件保存目錄

IOS 可以自定義寫入的文件目錄,是很有限的,只能是這3個目錄:

1. NSDocumentDirectory

下載文件到該目錄,則該文檔可以用 iTunes 直接查看。對於安全性不高,便於瀏覽的文件,pdf ,可以考慮下載到該目錄。、

2. NSLibraryDirectory

下載文件到該目錄,則該文檔不可用 iTunes 直接查看。只能在 APP 內部查看,對於文件有安全性方面的考慮,可以下載到該 目錄。

3.NSCachesDirectory

該目錄存放的主要是緩存文件,如 圖片的緩存數據等。不適合存放永久性的文件。

 

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,博客園,請搜索:博客園 - 尋自己,查看原版文章
本文首發地址:IOS下載查看PDF文件(有下載進度) - http://www.cnblogs.com/xunziji/p/3242843.html

IOS 下載 pdf 文件

在 IOS 開發過程中一直使用的都是 AFNetworking( https://github.com/AFNetworking/AFNetworking) 負責的網絡通信,並且 這個開源的組件很穩定,也很易用,同時使用的人也是蠻多的,網上各種解決方案都很好找。這次下載也是用的 這個組件。

//設置下載文件保存的目錄
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString* _filePath = [paths objectAtIndex:0];

//File Url
NSString* fileUrl = @"http://.../...pdf";

//Encode Url 如果Url 中含有空格,一定要先 Encode
fileUrl = [fileUrl stringByReplacingOccurrencesOfString:@" " withString:@"%20"]];

//創建 Request
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:fileUrl]];
NSString* fileName = @"down_form.pdf";
NSString* filePath = [_filePath stringByAppendingPathComponent:fileName];

//下載進行中的事件
AFURLConnectionOperation *operation =   [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];

[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
    //下載的進度,如 0.53,就是 53% 
    float progress =   (float)totalBytesRead / totalBytesExpectedToRead;
           
    //下載完成
    //該方法會在下載完成后立即執行
    if (progress == 1.0) {
          [downloadsTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]  withRowAnimation:UITableViewRowAnimationAutomatic];
    }
}];

//下載完成的事件
//該方法會在下載完成后 延遲 2秒左右執行
//根據完成后需要處理的及時性不高,可以采用該方法
[operation setCompletionBlock:^{
  
}];

[operation start];

 

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,博客園,請搜索:博客園 - 尋自己,查看原版文章
本文首發地址:IOS下載查看PDF文件(有下載進度) - http://www.cnblogs.com/xunziji/p/3242843.html

查看 PDF 文件

IOS 下查看 PDF 文件的方法是蠻多的,但是 WebView 最簡單便捷,雖然不是最強大的。

 

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString* filePath = [paths objectAtIndex:0];

NSString* fileName = @"down_form.pdf";
NSString *path = [filePath stringByAppendingPathComponent:fileName];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];
if (fileExists) {
    path = [Util urlEncodeString:path];
    NSURL* url = [[NSURL alloc]initWithString:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];
}

 

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,博客園,請搜索:博客園 - 尋自己,查看原版文章
本文首發地址:IOS下載查看PDF文件(有下載進度) - http://www.cnblogs.com/xunziji/p/3242843.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM