我是本机反应的新手。我收到了Blob响应,并尝试使用rn-fetch-blob将其另存为pdf。使用我的代码文件保存到文件存储中,但无法显示下载通知。
这是我的代码:
var date = new Date();
var path = RNFetchBlob.fs.dirs.DownloadDir + '/Inspection_' +Math.floor(date.getTime() + date.getSeconds() / 2)+'.pdf';
RNFetchBlob
.config({
// addAndroidDownloads : {
// useDownloadManager : true,
// title : 'Inspections_'+inspectionId,
// description : 'File successfully downloaded',
// // path:path,
// // mime : 'application/pdf',
// // mediaScannable : true,
// notification : true,
// }
})
.fetch('POST', url+'customer/create-pdf?id='+inspectionId, {
Accesstoken: 'Bearer '+this.token
})
.then((res) => {
console.log(res);
let base64Str = res.data;
// let pdfLocation = RNFetchBlob.fs.dirs.DownloadDir + '/Inspection_' +this.state.inspectionId+'.pdf';
RNFetchBlob.fs.writeFile(path, base64Str, 'base64');
// RNFetchBlob.android.actionViewIntent(path, 'application/pdf')
})
.catch((errorMessage, statusCode) => {
console.log(errorMessage);
console.log(statusCode);
})
如何设置配置以显示通知。
答案 0 :(得分:0)
你可以使用promise和Alert,它们会像这样下载时触发
RNFS.downloadFile({
fromUrl: newUrl,
background: true,
toFile: `${RNFS.DocumentDirectoryPath}/${fileName}`,
}).promise.then(async res => {
this.setState({
progress: 100,
loading: false,
downloaded: true,
popupMessage: "File downloaded successfully."
});
}).catch(err => {
this.setState({
loading: false
})
});
在下载标志上,您可以显示警报或自定义弹出窗口