PDF不加载webkit视图

时间:2018-03-29 19:41:38

标签: ios xcode swift4

当我传递网站网址时,Webkit视图没有加载我的pdf文件,此外我还允许使用HTTPS协议。

PDFVIEWER.Swift
import UIKit
import WebKit
class ReaderViewController: UIViewController {
    var urlstring : String?
    @IBOutlet weak var WEBVIEW: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        print(urlstring!)
        let url = URL(fileURLWithPath : "https://www.hdfcbank.com/assets/pdf/Rewards_Catalogue.pdf")
        let request = URLRequest(url : url)
        WEBVIEW.load(request)
    }
}

2 个答案:

答案 0 :(得分:0)

在webview上加载后将pdf文件转换为NSData。

      NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.pdf",newDateString]];
               NSLog(@"%@",finalPath);
         NSURL *url = [NSURL fileURLWithPath:finalPath];
         [data writeToURL:url atomically:YES];

         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

             [webView loadData:data
                      MIMEType:@"application/pdf"
              textEncodingName:@"utf-8"
                       baseURL:[NSURL URLWithString:@"http://example.com/"]];

         });

答案 1 :(得分:0)

不要使用 fileURLWithPath ,因为您没有使用本地URL。它指的是路径中的本地文件或目录,该路径应该是有效的系统路径,并且不能是空路径。

只需将 fileURLWithPath 字符串替换为变量 url ,如下面的代码所示。

factory(App\User::class, 50)->create() 
                ->each( 
                    function ($u) {
                        factory(App\Post::class, 10)->create()
                                ->each(
                                    function($p) use (&$u) { 
                                        $u->posts()->save($p)->make();
                                    }
                                );
                    }
                );