Ios 将多个图像上载到firebase
只是提醒一下,我是IOS开发新手,尤其是Swift。我在视图控制器中创建了一个“编辑配置文件页”,该视图控制器连接到常规“配置文件”视图控制器。在此编辑纵断面图控制器上,用户可以更改其纵断面图和封面照片。我很难理解在用户选择图像并单击“保存”按钮后,如何允许用户将其照片上载到firebase,一旦他们单击“保存”按钮,我希望它上载图像,然后将其重定向到常规纵断面图。我已经阅读了其他文章和观看了其他教程,但我无法获得成功上传这两幅图像的结果。这是我的代码到目前为止没有任何调用上传图像到firebaseIos 将多个图像上载到firebase,ios,swift,firebase,firebase-storage,Ios,Swift,Firebase,Firebase Storage,只是提醒一下,我是IOS开发新手,尤其是Swift。我在视图控制器中创建了一个“编辑配置文件页”,该视图控制器连接到常规“配置文件”视图控制器。在此编辑纵断面图控制器上,用户可以更改其纵断面图和封面照片。我很难理解在用户选择图像并单击“保存”按钮后,如何允许用户将其照片上载到firebase,一旦他们单击“保存”按钮,我希望它上载图像,然后将其重定向到常规纵断面图。我已经阅读了其他文章和观看了其他教程,但我无法获得成功上传这两幅图像的结果。这是我的代码到目前为止没有任何调用上传图像到fireba
import UIKit
import Foundation
import Firebase
import FirebaseDatabase
class NewEditProfileViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var imageView1: UIImageView!
@IBOutlet weak var imageView2: UIImageView!
var imagePicker = UIImagePickerController()
var imagePicked = 0
var selectedImage1: UIImage?
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = true
}
@IBAction func chooseImage1(_ sender: Any) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){
imagePicked = (sender as AnyObject).tag
present(imagePicker, animated: true)
}
}
@IBAction func chooseImage2(_ sender: Any) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){
imagePicked = (sender as AnyObject).tag
present(imagePicker, animated: true)
}
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let pickedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage
if imagePicked == 1 {
imageView1.image = pickedImage
} else if imagePicked == 2 {
imageView2.image = pickedImage
}
dismiss(animated: true)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true)
}
@IBAction func saveButton(_ sender: Any) {
}
@IBAction func backButton(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
}
谢谢你的帮助!正如我所说,Swift和Firebase对我来说是一个全新的概念 如果我没弄错你的问题,我想你是在问如何在保存图像的请求下将图像上传到firebase APO。我希望即使你没有IOS的知识,你也有Firebase的知识来理解下面的答案 首先更新
保存
/上传
操作,如下所示
func uploadMedia(completion: @escaping (_ url: String?) -> Void) {
let storageRef = FIRStorage.storage().reference().child("myImage.png")
if let uploadData = UIImagePNGRepresentation(self.myImageView.image!) {
storageRef.put(uploadData, metadata: nil) { (metadata, error) in
if error != nil {
print("error")
completion(nil)
} else {
completion((metadata?.downloadURL()?.absoluteString)!))
// your uploaded photo url.
}
}
}
之后,您只需连接到FIRDatabase
并将其保存到节点。请注意,此处的节点位于我制作的结构下,因此您必须根据您的节点结构调整此方法,或者上载您的结构并编辑答案
@IBAction func addPost(_ sender: Any) {
uploadMedia() { url in
guard let url = url else { return }
ref?.child("Posts").childByAutoId().setValue([
"myImageURL" : url
])
}
}
您也可以参考以进一步澄清这是否回答了您的问题?这个问题有点不清楚,并且没有包含任何与Firebase或Firebase存储相关的代码。您是询问如何在ViewController之间移动,还是询问如何将图像上载到Firebase存储?如果是后者,则上的Firebase文档非常有用。你能澄清你的问题并花点时间回顾一下吗