source

Firebase 저장소에 파일이 있는지 확인하는 방법은 무엇입니까?

manycodes 2023. 6. 30. 22:27
반응형

Firebase 저장소에 파일이 있는지 확인하는 방법은 무엇입니까?

데이터베이스를 사용할 때 수행할 수 있는 작업snapshot.exists()특정 데이터가 있는지 확인합니다.문서에 따르면 스토리지와 유사한 방법은 없습니다.

https://firebase.google.com/docs/reference/js/firebase.storage.Reference

Firebase 저장소에 특정 파일이 있는지 확인하는 올바른 방법은 무엇입니까?

Firebase에서 .exists() 메서드를 추가했습니다.다른 사람이 답변을 보내며 언급했지만, 그들이 제공한 샘플 코드가 잘못되었습니다.제가 직접 해결책을 찾다가 이 스레드를 발견했는데, 처음에는 그들의 코드를 시도해서 혼란스러웠지만 파일이 분명히 존재하지 않는 경우에도 항상 "File exists"를 반환했습니다.

exists(존재)는 부울을 포함하는 배열을 반환합니다.올바른 사용 방법은 다음과 같이 부울 값을 확인하는 것입니다.

const storageFile = bucket.file('path/to/file.txt');
storageFile
  .exists()
  .then((exists) => {
        if (exists[0]) {
          console.log("File exists");
        } else {
          console.log("File does not exist");
        }
     })

이 스레드를 찾은 다음 사용자가 이 스레드를 보고 시간을 절약할 수 있도록 공유합니다.

getDownload를 사용할 수 있습니다.Promise를 반환하는 URL로, "Not found(찾을 수 없음)" 오류를 감지하거나 파일이 있는 경우 파일을 처리하는 데 사용할 수 있습니다.예:

storageRef.child("file.png").getDownloadURL().then(onResolve, onReject);

function onResolve(foundURL) {
    //stuff
}

function onReject(error) {
    console.log(error.code);
}

FB 스토리지 API는 사용자가 존재하는 파일만 요청하는 방식으로 설정되어 있다고 생각합니다.

따라서 존재하지 않는 파일을 오류로 처리해야 합니다. https://firebase.google.com/docs/storage/web/handle-errors

File.exists를 사용하여 Node.js Firebase Googole Cloud Storage SDK 내에 보관하면서 좋은 솔루션을 찾았고, 검색하는 사람들에게 공유하는 것이 이상적이라고 배웠습니다.

const admin = require("firebase-admin");
const bucket = admin.storage().bucket('my-bucket');

const storageFile = bucket.file('path/to/file.txt');
storageFile
  .exists()
  .then(() => {
    console.log("File exists");
  })
  .catch(() => {
    console.log("File doesn't exist");
  });

Google 클라우드 스토리지: 작성 시점의 Node.js SDK 버전 5.1.1(2020-06-19)

그것은 나에게 효과가 있었습니다.

  Future<bool> fileExists(String file) async {
    var parts = file.split('/');
    var path = parts.sublist(0, parts.length - 1).join('/');
    var listResult = await _storage.ref().child(path).list();
    return listResult.items.any((element) => element.fullPath == file);
  }

언급URL : https://stackoverflow.com/questions/37751202/how-to-check-if-file-exists-in-firebase-storage

반응형