2016-05-25 24 views
18

Yeni Firebase API ile dosyaları istemci kodundan bulut depolarına yükleyebilirsiniz. examples varsayalım dosya adı yükleme sırasında bilinen veya statik olup:Dosyaları benzersiz/rasgele isimlerle depolayın

// Create a root reference 
var storageRef = firebase.storage().ref(); 

// Create a reference to 'mountains.jpg' 
var mountainsRef = storageRef.child('mountains.jpg'); 

// Create a reference to 'images/mountains.jpg' 
var mountainImagesRef = storageRef.child('images/mountains.jpg'); 

veya kullanıcıların kendi dosyalarını yükleyerek ile

// File or Blob, assume the file is called rivers.jpg 
var file = ... 

// Upload the file to the path 'images/rivers.jpg' 
// We can use the 'name' property on the File API to get our file name 
var uploadTask = storageRef.child('images/' + file.name).put(file); 

, adı çakışmaları bir sorun olacak. Firebase'in kendisini tanımlamak yerine bir dosya adı nasıl oluşturabilirsin? Benzersiz depolama referansları oluşturmak için veritabanında push() özelliği gibi bir şey var mı? Burada

cevap

33

Firebase Depolama Ürün Müdürü:

TL; DR: Bir UUID (Android'de (UUID) ve iOS (NSUUID) onlar JS böyle bir şey kullanabilirsiniz inşa edilmiştir: Create GUID/UUID in JavaScript?) jeneratör kullanın daha sonra bunu korumak istiyorsanız dosya uzantısını ekleyin ('.' 'dosyasındaki dosyaya bölün.' ve son bölüme geçin)

Benzersiz yazılım geliştiricilerin hangi sürümünün olmasını istediğinizi bilmiyorduk (aşağıya bakın). Bunun için pek çok kullanım örneği var, bu yüzden seçimi geliştiricilere bırakmaya karar verdik. Böyle Bana öyle geliyor

images/uuid/image.png // option 1: clean name, under a UUID "folder" 
image/uuid.png   // option 2: unique name, same extension 
images/uuid    // option 3: no extension 

olsa bizim belgelerinde açıklamak için makul bir şey olurdu, bu yüzden hiç ile bunu yapmanın bir yolu yoktur dahili olarak belgelemek için :)

+0

hata bildiriminde edeceğiz Firebase'in web versiyonu –

+0

Evet, bkz. Http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript Yukarıda belirtildiği gibi –

+0

Kullanıcıların dosyaları geri yüklemelerini istiyorsanız, bu oldukça berbat bir durumdur. Bir dosya varsa, yüklemeden önce dosyaları anında yeniden adlandırmanın basit bir yolu olmalıdır. – Pier

İlgili konular