私はfirebaseストレージに格納されているpdfファイルのURLをノードPdfのデータベースに保存しました。私はデータベースの中に保存されているURLの助けを借りてfirebaseストレージからファイルをダウンロードしようとしています。firebaseデータベースに格納されたURLを使ってファイルをダウンロードする方法は?
public class DownloadFile extends AppCompatActivity{
DatabaseReference databaseReference= FirebaseDatabase.getInstance().getReference();
String root_child="my book";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
databaseReference.child("Pdf").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChild(root_child))
{
String url=dataSnapshot.child(root_child).getValue().toString();
StorageReference island=storageRef.child("books").child(root_child).child(url);
island.getFile(file).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
pdfView.fromFile(file).load();
}
});
}
}
問題は実際にはpdf
ビュー内には表示されません。私はアプリをデバッグするとき、私はStorageReference island=storageRef.child("books").child(root_child).child(url);
が正しい参照を作成していないことがわかりました。要するに、ファイルはダウンロードされていません。ファイル名はユーザーのアップロード内容によって異なるため、ファイル名を指定することはできませんので、url
を使用してファイルを検索できるように'child(url)'
を使用しましたが、それが正しい検索方法であるかどうかはわかりません助けていただきありがとうございます。
読みやすいように正しく識別されたコードを投稿してください。 –
あなたはこれを参考にしましたか?https://firebase.google.com/docs/storage/android/download-files – Vij