我只想让我的应用程序使用react-native-fetch-blob从服务器下载文件。问题是,文件存储在哪里?我只是在console.log中回复来自react-native-fetch-blob并得到了这个对象
React-native-fetch-blob object callback
这是我的代码
alert("downloading");
RNFetchBlob
.config({
useDownloadManager : true,
fileCache : true
})
.fetch('GET', 'http://fontawesome.io/assets/font-awesome-4.7.0.zip', {})
.then((res) => {
console.log(res);
alert("Download");
alert('The file saved to ', res.path());
})
任何解决方案?
答案 0 :(得分:1)
要使用rn-fetch-blob直接下载文件,您需要将fileCache设置为true。
btw,react-native-fetch-blob已不再维护,请改用rn-fetch-blob
document of download file directly
RNFetchBlob
.config({
// add this option that makes response data to be stored as a file,
// this is much more performant.
fileCache : true,
})
.fetch('GET', 'http://www.example.com/file/example.zip', {
//some headers ..
})
.then((res) => {
// the temp file path
console.log('The file saved to ', res.path())
})
答案 1 :(得分:0)
我正在使用它,它完美无缺。 你只需要得到这样的路径。
var filePath = res.path();
这是存储文件的地方。
答案 2 :(得分:0)
function downloadFile(url,fileName) {
const { config, fs } = RNFetchBlob;
const downloads = fs.dirs.DownloadDir;
return config({
// add this option that makes response data to be stored as a file,
// this is much more performant.
fileCache : true,
addAndroidDownloads : {
useDownloadManager : true,
notification : false,
path: downloads + '/' + fileName + '.pdf',
}
})
.fetch('GET', url);
}
使用此答案肯定会有效