我收到已下载到设备的文件的路径。我尝试使用<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是否实际接受本地存储的文件?
答案 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)时发生。