react-native-fetch-blobのFile System APIを使用しています。ギャラリーに保存されている画像は、電話機の再起動時にのみ表示されます - リアクションネイティブAndroid
私はサーバーから画像をリクエストし、base64を受信し、それをアンドロイドの画像ディレクトリに保存します。
は、私はこのようなイメージを保存します。
var RNFetchBlob = require('react-native-fetch-blob').default;
const PictureDir = RNFetchBlob.fs.dirs.PictureDir;
getImageAttachment: function(uri_attachment, filename_attachment, mimetype_attachment) {
return new Promise((RESOLVE, REJECT) => {
// Fetch attachment
RNFetchBlob.fetch('GET', config.apiRoot+'/app/'+uri_attachment)
.then((response) => {
let base64Str = response.data;
let imageLocation = PictureDir+'/'+filename_attachment;
//Save image
fs.writeFile(imageLocation, base64Str, 'base64');
console.log("FILE CREATED!!")
}).catch((error) => {
// error handling
console.log("Error:", error)
});
},
問題
画像が正常に保存されますが、私はアンドロイドのギャラリーを開いたとき、それは表示されません。しかし、Androidエミュレータをオフにすると、それがギャラリーに表示されます。私はエミュレータを再起動することなく、Androidのギャラリーで画像を表示することができますどのように
質問
?
ソリューション
ファイルが作成された後、私は上記の方法にこれを追加しました:
RNFetchBlob.fs.scanFile([ { path : imageLocation, mime : mimetype_attachment } ])
.then(() => {
console.log("scan file success")
})
.catch((err) => {
console.log("scan file error")
})
おかげます@Xeijpを。
に記載されているように、あなたがそうmediadbに自分自身を画像を追加することができ、ディレクトリを分析するために、メディアスキャナを依頼することができます!ありがとうございました! – Larney