如何在WebView中显示下载的文件?

时间:2017-07-24 12:52:24

标签: ios react-native

我收到已下载到设备的文件的路径。我尝试使用<WebView source={{ uri }} />来显示内容:即uri = '/Users/user/Library/Developer/CoreSimulator/Devices/1897591-5645-4C4F-A3CE-3DE4F7DD67C7/data/Containers/Data/Application/23485972-4B66-4DCF-8101-F419DF12CB87/Documents/RNFetchBlob_tmp/RNFetchBlobTmp_hhbjcw8zag7jqgra3mldkd'

我得到的只是: Error loading page Domain: WebKitErrorDomain Error Code: 102 Description: Frame load interrupted

WebView是否实际接受本地存储​​的文件?

2 个答案:

答案 0 :(得分:1)

WebView for iOS只能按存储在项目中的路径打开文件,不幸的是不能在应用程序的文件系统中打开文件。

您可以使用webview打开文件的base64encoded内容,但将其传递给WebView url={base64encodedcontent}。查看此答案https://stackoverflow.com/a/41895475/4655003

你也可以尝试这样的事情:https://github.com/wkh237/react-native-fetch-blob/wiki/iOS-API#iospreviewdocumentpathstring使用原生UIDocumentController来预览文件。

RNFetchBlob.ios.previewDocument(pathToLocalFile)

答案 1 :(得分:0)

我没有解决方案,但它可以帮到你:

错误代码:102 webView:shouldStartLoadWithRequest:navigationType返回NO(false)时发生。