将图像而不是UIImage上载到Firestore [英] Uploading an Image instead of an UIImage to Firestore

查看:27
本文介绍了将图像而不是UIImage上载到Firestore的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用Swift 5.0/SwiftUI 2.0

Using Swift 5.0 / SwiftUI 2.0

将UIImage上传到Firestore时可用的一种方法是jpegData(compressionQuality:Double),从本质上讲,这使得提取保存的图像的整个过程变得更快.

One method available when uploading an UIImage to Firestore is jpegData(compressionQuality: Double) which essentially makes the whole process of fetching the saved image a lot faster.

是否有Image的等效产品或任何其他可行的解决方法,或者是否像UIImage或可怜的UX一样简单

Is there any equivalent for Image yet or any other viable workarounds or its as simple as either UIImage or poor UX

推荐答案

struct ContentView: View {
    
    //Here
    @State var uiImage: UIImage?
    
    var body: some View {
        VStack {
            if uiImage != nil {
                Image(uiImage: uiImage!)
            }
            
            
            Button(action: {
                downloadImage()
            }, label: {
                Text("Download image")
            })
        }
        
    }

    func downloadImage() {
        URLSession.shared.dataTask(with:URL(string: "https://upload.wikimedia.org/wikipedia/commons/3/3f/Self-portrait_taken_with_laptop%2C_March%2C_2018.jpg")!) { (data, response, eooror) in
            guard data != nil else { return }
            
            DispatchQueue.main.async {
                self.uiImage = UIImage(data: data!)
            }
    
        }.resume()
    }
    
    //Here
    func getData() {
        var data = uiImage?.jpegData(compressionQuality: 0.5)
    }
}

这篇关于将图像而不是UIImage上载到Firestore的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆