2016-08-23 2 views
0

У меня есть 100 изображений, которые я хочу хранить в хранилище firebase, но мне также нужно извлечь из них URL-адреса. Есть ли автоматический способ сделать это?Хранение нескольких изображений в firebase и получение URL-адресов

Если нет, то есть лучший поставщик услуг, который позволяет автоматически загружать много изображений и извлекать URL-адрес автоматически?

+1

Firebase Storage имеет API, который вы можете использовать для загрузки изображений, а затем для каждого URL-адреса для загрузки. См. Https://firebase.google.com/docs/storage/ –

ответ

2

Я настоятельно рекомендую использовать Firebase Storage и базу данных Firebase Realtime для достижения этой цели. Некоторый код, чтобы показать, как эти части взаимодействуют ниже (Swift):

Shared:

// Firebase services 
var database: FIRDatabase! 
var storage: FIRStorage! 
... 
// Initialize Database, Auth, Storage 
database = FIRDatabase.database() 
storage = FIRStorage.storage() 

Загрузить:

let fileData = NSData() // get data... 
let storageRef = storage.reference().child("myFiles/myFile") 
storageRef.putData(fileData).observeStatus(.Success) { (snapshot) in 
    // When the image has successfully uploaded, we get it's download URL 
    // This "extracts" the URL, which you can then save to the RT DB 
    let downloadURL = snapshot.metadata?.downloadURL()?.absoluteString 
    // Write the download URL to the Realtime Database 
    let dbRef = database.reference().child("myFiles/myFile") 
    dbRef.setValue(downloadURL) 
} 

Скачать:

let dbRef = database.reference().child("myFiles") 
dbRef.observeEventType(.ChildAdded, withBlock: { (snapshot) in 
    // Get download URL from snapshot 
    let downloadURL = snapshot.value() as! String 
    // Create a storage reference from the URL 
    let storageRef = storage.referenceFromURL(downloadURL) 
    // Download the data, assuming a max size of 1MB (you can change this as necessary) 
    storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in 
    // Do something with downloaded data... 
    }) 
}) 

Для получения дополнительной информации см Zero to App: Develop with Firebase, и это associated source code, для практического примера того, как это сделать.

Смежные вопросы