2016-06-06 7 views
8

그래서 새로운 Firebase는 Google Cloud Platform을 사용하여 스토리지를 지원합니다.Firebase Storage에 폴더를 만드는 방법은 무엇입니까?

당신은 사용 images 폴더에 파일을 업로드 할 수 있습니다 :

var uploadTask = storageRef.child('images').put(file, metadata); 

을 사용하면 하위 폴더 images/user1234을 만들려면 동적 코드를 사용하여 무엇입니까?

공문 sample에는 수행 방법이 나와 있지 않으며 official guide 또는 reference docs도 나와 있지 않습니다.

Firebase 콘솔은 폴더를 만들 수있는 유일한 장소입니까 manually?

답변

8

Firebase 콘솔은 특정 폴더에 파일을 추가하는 가장 쉬운 방법이기 때문에 폴더를 만들 수 있습니다.

그러나 폴더를 만들 수있는 공개 API는 없습니다. 폴더는 파일을 추가 할 때 자동으로 만들어집니다.

15

Firebase Storage API는 중간 제품으로 동적으로 "폴더"를 만듭니다. images/user1234/file.txt에 파일을 만들면 "이미지"및 "user1234"와 같은 모든 중간 "폴더"가 생성됩니다. 그래서 코드가된다 : 참조가 전체 경로뿐만 아니라 파일 이름을 포함해야하기 때문에 당신의 child() 전화에 파일 이름 (예 : foo.txt)를 포함 할 필요가

var uploadTask = storageRef.child('images/user1234/file.txt').put(file, metadata); 

주, 그렇지 않으면 파일 것 images이라고합니다.

+0

우리는 스토리지 콘솔에서 폴더를 업로드 할 수 있습니까? – user142020a

0

Firebase 콘솔을 사용하면 폴더를 만들 수 있습니다. 나는 폴더를 만드는 또 다른 방법이 있다고 생각하지 않는다.

0

디렉토리를 만들 수 있습니다. 다음을 수행 한 참조로 놀아 보았습니다.

test = (e,v) => { 
    let fileName = "filename" 
    let newDirectory = "someDir" 
    let storage = firebase.storage().ref(`images/${newDirectory}/${fileName}`) 

    let file = e.target.files[0] 
    if(file !== undefined && file.type === "image/png") { 
     storage.put(file) 
      .then(d => console.log('you did it')) 
      .catch(d => console.log("do something")) 
    } 
} 

enter image description here

+1

당신은 프랭크, 마이크와 저의 답변이 정말로 다른 것을 알고 있습니다. – JustDave