如何使用react-native通过WebView下载?

时间:2018-09-17 11:22:50

标签: android react-native

我正在使用WebView,我想让该人通过WebView下载。 这是一个简单的WebView,其中包含下载zip文件的链接。

我可以使用网络视图吗? (就像Chrome)

至少当用户尝试通过WebView下载文件时,我想获得侦听器。

2 个答案:

答案 0 :(得分:1)

自2018年12月以来,原始WebView https://github.com/react-native-community/react-native-webview有一个嵌入式替换组件,支持文件下载(和上传)。

您需要做的就是通过向ios/[project]/Info.plist添加以下内容来向 iOS 添加权限:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Save pictures for certain activities.</string>

Android (将其添加到AndroidManifest.xml

<!-- this is required to save files on Android  -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

答案 1 :(得分:0)

我这样做,要下载文件,我们需要两个步骤,读取位并在设备上创建文件,在此示例中,当URL具有{{1时,我将下载任何.zip文件}}:

我正在使用:

.zip

并像这样使用import RNFetchBlob from 'rn-fetch-blob'; var RNFS = require('react-native-fs');

WebView

和:

<WebView
    source={{ uri: "http://myinitialurl.com.br/arquivos/" }}
    style={{}}
    startInLoadingState={true}
    allowUniversalAccessFromFileURLs={true}
    javaScriptEnabled={true}
    mixedContentMode={'always'}
    onNavigationStateChange={(result) => this.handleUrlWithZip(result)}
/>