Javascript 如何在内部(应用程序的专用)存储中下载图像文件
我正在做一个react原生项目,其中我需要从服务器下载一些图像文件,并将它们保存在应用程序中。这些文件必须保存在应用程序的内部专用存储中,这样应用程序用户就不能(在非根手机中)找到这些文件。我在谷歌上搜索了以下选项:Javascript 如何在内部(应用程序的专用)存储中下载图像文件,javascript,android,ios,react-native,Javascript,Android,Ios,React Native,我正在做一个react原生项目,其中我需要从服务器下载一些图像文件,并将它们保存在应用程序中。这些文件必须保存在应用程序的内部专用存储中,这样应用程序用户就不能(在非根手机中)找到这些文件。我在谷歌上搜索了以下选项: 使用AsyncStorage并以Base64字符串格式保存图像文件。(我希望避免这种情况,因为这将增加开销[增加文件大小一点点]+不必要的转换到base64的任务) 使用rn fetch blob library以blob格式直接从服务器获取数据,但我找不到内部存储保存选项。此选项
请建议在react原生应用程序中下载图像[或其他格式]文件的简单方法,该文件必须位于应用程序的私有数据文件夹中,而无需转换为字符串或任何其他介质 您可以使用
文档目录
作为保存文件的路径。它将文件保存在您想要的应用程序存储器中,当您想要检索文件时,您已经知道基本路径,只需提供文件名即可访问文件
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...
});
希望这有帮助。快乐编码:)应用程序用户能在这里看到我的文件吗?显然不能。在iOS中是严格禁止的,在android中,可以通过安卓/data/appid/data/obb和所有。。。。。如果你得到了我想要说明的东西。但这就是其他应用程序所做的一切。如果需要某种加密,则必须在保存之前和获取之后手动加密和解密文件。是。谢谢苏拉杰。