Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将多个图像上载到firebase_Ios_Swift_Firebase_Firebase Storage - Fatal编程技术网

Ios 将多个图像上载到firebase

Ios 将多个图像上载到firebase,ios,swift,firebase,firebase-storage,Ios,Swift,Firebase,Firebase Storage,只是提醒一下,我是IOS开发新手,尤其是Swift。我在视图控制器中创建了一个“编辑配置文件页”,该视图控制器连接到常规“配置文件”视图控制器。在此编辑纵断面图控制器上,用户可以更改其纵断面图和封面照片。我很难理解在用户选择图像并单击“保存”按钮后,如何允许用户将其照片上载到firebase,一旦他们单击“保存”按钮,我希望它上载图像,然后将其重定向到常规纵断面图。我已经阅读了其他文章和观看了其他教程,但我无法获得成功上传这两幅图像的结果。这是我的代码到目前为止没有任何调用上传图像到fireba

只是提醒一下,我是IOS开发新手,尤其是Swift。我在视图控制器中创建了一个“编辑配置文件页”,该视图控制器连接到常规“配置文件”视图控制器。在此编辑纵断面图控制器上,用户可以更改其纵断面图和封面照片。我很难理解在用户选择图像并单击“保存”按钮后,如何允许用户将其照片上载到firebase,一旦他们单击“保存”按钮,我希望它上载图像,然后将其重定向到常规纵断面图。我已经阅读了其他文章和观看了其他教程,但我无法获得成功上传这两幅图像的结果。这是我的代码到目前为止没有任何调用上传图像到firebase

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文档非常有用。你能澄清你的问题并花点时间回顾一下吗