【问题标题】:React-Native: Downloading and uploading files from android webviewReact-Native:从 android webview 下载和上传文件
【发布时间】:2016-11-21 13:25:59
【问题描述】:

我正在使用 React-Native webview 桥接模块,因为我需要它的功能,现在我正在尝试下载和上传文件。为了下载,我发送了一条带有文件 url 的消息,然后使用 Linking 包在浏览器中下载,不幸的是我得到的是下载不成功。有没有办法让我在这个模块上同时工作?

【问题讨论】:

  • 如何使用base64将文件转换为字符串并上传/下载该字符串?
  • 我确实设法进行了这样的下载,但没有上传。
  • 我在 React Native 应用程序中执行此操作,只需确保您发送格式正确的 json 消息以及请求的标头即可。
  • 你有公开的仓库来查看你的例子吗?还有你是怎么触发文件管理器的?
  • 否,但我可以粘贴代码作为响应。关于文件管理器,我只是发送图片,图像选择器负责处理。

标签: android reactjs webview react-native


【解决方案1】:

我最近不得不在 Android 上遇到同样的问题(尽管仅适用于文件上传)。你可以在这里看到我的实现:https://github.com/martinarroyo/react-native-webview-file-upload/

也许如果您扩展该代码以包含类似this 的内容,您可以包含文件下载。

【讨论】:

  • 我需要以某种方式将它与 webview 桥模块一起使用,因为我需要它的功能。你知道怎么做吗?
  • 你的意思是this package?我想您唯一需要做的就是将this functionality 集成到 rn-webview-bridge 的AndroidWebViewManager 中。此外,您还必须查看 AndroidWebViewPackager 来处理活动引用,并编辑 JavaScript 文件以包含所需的道具。
【解决方案2】:

fetch(
            _apiRoot+url+'?_format=json&access_token='+this.getAccessToken(),
            {
                method: 'POST',
                headers: {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json'
                },
                body:JSON.stringify(data)
            }).then((response) => response.json())
            .then((response) => {
                success(response.data);
            })
            .catch((errorData) => {
                error(errorData);
            });

//Where data is an object like

let data = {
  images:[responseDataFromImagePicker.data,responseDataFromImagePicker.data]
}
//the picker returns the image encoded in base64

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多