• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

javascript - 如何在内部(应用程序的私有(private))存储中下载图像文件 react 原生

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:04:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在做一个 react-native 项目,我需要从服务器下载一些图像文件并将它们保存在应用程序中。这些文件必须保存在应用程序的内部私有(private)存储中,这样应用程序用户必须无法找到这些文件(在非 root 手机中)。我在谷歌上搜索并找到了以下选项:

  1. 使用 AsyncStorage 并将图像文件保存为 Base64 字符串格式。 (我想避免这种情况,因为这会增加开销 [稍微增加文件大小] + 不必要的与 base64 相互转换的任务)
  2. 使用 rn-fetch-blob 库以 blob 格式直接从/向服务器获取数据,但我无法找到内部存储保存选项。此选项可帮助我将文件存储在 Documents 或 Download 等上,但我需要将文件存储在内部存储器中。
  3. 我可以使用 URI 作为所有图像的来源,但我希望尽可能避免对服务器的依赖。

请建议一种简单的方法来下载 react native 应用程序中的图像[或其他格式]文件,该文件必须位于应用程序的私有(private)数据文件夹中,无需任何转换为​​字符串或任何其他介质。



Best Answer-推荐答案


您可以使用 Document Directory 作为保存文件的路径。它将文件保存在您想要的应用程序的存储中,当您想要检索文件时,您已经知道基本路径,您只需要提供文件名即可访问文件。

const dirs = RNFetchBlob.fs.dirs; 
RNFetchBlob
  .config({
    path : dirs.DocumentDir + `${folder_name}/${filename}`
}).fetch('GET', `${fileURL}`).progress((received=0, total=0) => {
  //Handle progress of download here.. May be update UI...
}).then((resp) => {
   //You can get the path of the file saved using resp.path()
.catch((err) => {
  //Handle error here...                
});

关于javascript - 如何在内部(应用程序的私有(private))存储中下载图像文件 react 原生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53479538/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap