目前我遇到了一个大问题,我正在使用AssetsPickerViewController从图库中获取图像和视频,以便稍后在网页查询中将其上传到服务器。
AssetsPickerViewController:https://github.com/DragonCherry/AssetsPickerViewController
我的问题是,当我从视频中获取数据并将其上传到服务器时,它太大了,大约30秒的视频重量超过50MB,我认为这是错误的原因:
Connection to assetsd was interrupted or assetsd died
Message from debugger: Terminated due to memory issue
我认为解决这个问题的方法是减轻视频的重量,但我仍然找不到如何做到这一点。
我事先感谢你的帮助。
答案 0 :(得分:2)
听起来像你在上传之前尝试将整个视频加载到内存中,这对于大文件来说是一个坏主意。一种替代方法是使用URLSessionUploadTask
,它使用文件URL而不是原始数据:
let videoFileURL = <get a file URL>
let request = URLRequest(url: URL(string: "https://mygreatsite.com")!)
URLSession.shared.uploadTask(with: request, fromFile: videoFileURL) { data, response, error in
// handle
}.resume()