【问题标题】:How use writeToFile in Firebase to deal with exceeds the maximum size?Firebase中如何使用writeToFile处理超过最大大小?
【发布时间】:2017-01-23 20:14:14
【问题描述】:

我需要有关从 Firebase 数据库加载图像的帮助。我已将 2 张图片上传到火力基地。当我想加载图像时。出现这个错误

  Attempeted to download object with size of 1050168 bytes, which exceeds the maximum size of 1048576 bytes. Consider raising the maximum download size, or using [FIRStorageReference writeToFile:]

但是,有时我可以加载 2 张图片,但有时会卡住。

我对 Swift 和 Firebase 还是很陌生。

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    storageRef = FIRStorage.storage().referenceForURL(toDoList[indexPath.row].imageName)
    let storageRef1 = FIRStorage.storage().referenceForURL(toDoList[indexPath.row].secondPhoto)
    let itemSelected = toDoList[indexPath.row]
    storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) in
        if error == nil
        {
            dispatch_async(dispatch_get_main_queue(), {
                if let data = data
                {
                    storageRef1.dataWithMaxSize(1 * 1024 * 1024) { (data1, error) in

                        if error == nil
                        {
                            dispatch_async(dispatch_get_main_queue(), {
                                if let data1 = data1
                                {
                                    let detailVC:DetailViewController = self.storyboard?.instantiateViewControllerWithIdentifier("DetailViewController") as! DetailViewController
                                    print(itemSelected.eventID)
                                    detailVC.eventIDfromDetail = itemSelected.eventID
                                    detailVC.titleEvent = itemSelected.title
                                    detailVC.staffEvent = itemSelected.staff
                                    detailVC.locationEvent = itemSelected.location
                                    detailVC.startEvent = itemSelected.starts
                                    detailVC.endEvent = itemSelected.ends
                                    detailVC.repeatEvent = itemSelected.rpeat
                                    detailVC.imageDetail = UIImage(data: data)!
                                    detailVC.descriptionDetail = itemSelected.description
                                    detailVC.secondPhotoEvent = UIImage(data: data1)!
                                    detailVC.key = itemSelected.key
                                    detailVC.isFinish = itemSelected.isCompleted
                                    self.presentViewController(detailVC, animated: true, completion: nil)
                                }
                            })
                        }
                        else
                        {
                            print(error!.localizedDescription)
                        }

                    }}
            })
        }
        else
        {
            print(error!.localizedDescription)
        }

    }
}

【问题讨论】:

    标签: ios swift image firebase-storage


    【解决方案1】:

    您似乎需要提高dataWithMaxSize。请注意,根据 Firebase 文档,您不要下载超出设备内存容量的文件,否则应用程序将崩溃。 Firebase 文档的链接here

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 2021-03-04
      • 2021-01-27
      • 2019-03-04
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      相关资源
      最近更新 更多