swift - 如何将来自uiimageView的图像存储在firebase中
问题描述
func uploadImage(){
let data = Data()
let storage = Storage.storage()
let storageRef = storage.reference()
let imagesRef = storageRef.child(imageView.image) //not sure how it's done
let uploadTask = imagesRef.putData(data, metadata: nil) { (metadata, error) in
guard let metadata = metadata else {
return
}
let size = metadata.size
imagesRef.downloadURL { (url, error) in
guard let downloadURL = url else {
return
}
}
}
}
嗨,我是 xcode 的新手。我很想知道在调用上述函数时如何将 uiimageview 上显示的图像上传到 firebase。
解决方案
你可以这样做:
func uploadImage(img1 :UIImage){
var data = NSData()
data = UIImageJPEGRepresentation(img1!, 0.8)! as NSData
// setting the upload path
// then choose the path where you want to store the image in the storage
let filePath = "\(userid)"
let metaData = FIRStorageMetadata()
metaData.contentType = "image/jpg"
self.storageRef = FIRStorage.storage().reference()
self.storageRef.child(filePath).put(data as Data, metadata: metaData){(metaData,error) in
if let error = error {
print(error.localizedDescription)
return
}else{
//Storing the downloadURL..
let downloadURL = metaData!.downloadURL()!.absoluteString
}
}
}
推荐阅读
- c# - ASP.NET MVC Mulitlingual site not working properly
- wpf - WPF DataGrid 标题列有额外的边框
- http - HTTP 方法:为什么不总是使用 PUT 而不是 POST?
- oracle - 创建游标以连接到远程数据库
- java - 自定义 Web 项目的 Gradle 脚本
- blockchain - 将 Web App 转换为 Dapp 以实现区块链
- r - 在不使用 for 循环的情况下根据多个条件匹配不同数据帧中的行
- vba - 如何在VBA中解压缩同名文件?
- android - 工具栏小部件、NavHostFragment 和 bottomNavigationView - Android
- google-cloud-platform - Google Dataprep:将 GCS 文件名另存为列之一