Swift - 减轻视频的重量

时间:2018-03-21 14:31:00

标签: ios swift phasset

目前我遇到了一个大问题,我正在使用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

我认为解决这个问题的方法是减轻视频的重量,但我仍然找不到如何做到这一点。

我事先感谢你的帮助。

1 个答案:

答案 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()