Swift Как загрузить изображения в FireBase с разными именами файлов? - PullRequest
0 голосов
/ 11 октября 2018

Я новичок в IOS, пожалуйста, примите во внимание.Моя проблема в том, что всякий раз, когда я загружаю изображения, он просто заменяет существующие изображения.

Теперь я хочу загрузить изображение с уникальным именем файла.Я снимаю изображение с камеры.

func uploadtofirebase(){

        let imagepath = UIImagePNGRepresentation(self.imagebutton.image!)
        if imagepath == nil {
            return
        }
        var strURL = "imagePickerController.png"

       let storage = Storage.storage()
       let storageRef = storage.reference().child("IosImages/").child(strURL)
          print("calling here successfully ")
        storageRef.putData(imagepath!, metadata:nil,completion:
            {(metadata,error) in storageRef.downloadURL(completion: { (url, error) in

                if let urlText = url?.absoluteString{
                    strURL = urlText
                    print("///////////tttttttt//////// \(strURL)   ////////")
                    //completion(strURL)
                    print("passed activity")
                    self.startReceivingLocationChanges()
                }
            })
        })
}

Примечание: .child(strURL) Я думаю strURL Я должен сделать его динамичным.Я сделал в Android, но я не могу сделать iOS.

1 Ответ

0 голосов
/ 11 октября 2018

Вам просто нужно создать имя изображения динамически.Примерно так: «20181010045120.png».Вы можете сгенерировать его, используя функцию, подобную этой:

 func generateImageName() -> String {
    let date = Date()
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyyMMddHHmmSS"
    let result = formatter.string(from: date)
    return "\(result).png"
 }

Просто вызовите эту функцию, и вы получите новое имя изображения каждый раз.Это также полезно, так как содержит дату и время создания.

...