【发布时间】:2016-07-23 05:32:00
【问题描述】:
我们创建了一个可以将多个图像上传到服务器的应用程序(PHP REST API),但是上传需要更多时间,如果我将 10 个图像添加到队列中,则应用程序响应缓慢
我们看到 Facebook iOS 应用可以轻松上传多张图片(它尝试了 32 张)并且在 15 秒内上传
他们如何将图片快速上传到服务器,以及他们如何在应用手机内存中进行管理
他们在上传到服务器之前会降低质量吗?
服务器和应用的规格:
xCode:7.3
用于上传图像的 Alamofire [Multipart] - API 调用
PHP:5.5.9-1
Apache2:2.4.7
MySQL:5.5.49-0
PHP 配置:
memory_limit:512M
max_file_uploads: 100
post_max_size: 512M
最大执行时间:600
上传最大文件大小:512M
图片上传代码
manager.upload(.POST, CustomizedEP,
multipartFormData: { multipartFormData in
if let imageData = UIImageJPEGRepresentation(profilePic, 1) {
multipartFormData.appendBodyPart(data: imageData, name: "temp_pic", fileName: imageName, mimeType: "image/png")
}
for (key, value) in ["image_name": imageName] {
multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key as! String)
}
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
if let data = response.result.value {
self.delegate.addPicToPostResponse!(data, Status: (response.response?.statusCode)!);
hideLoader(LoaderType.Default);
}
}
upload.progress{ _, totalBytesRead, totalBytesExpectedToRead in
//let progress = Float(totalBytesRead)/Float(totalBytesExpectedToRead);
//self.delegate.uploadTempPicProgressInfo!(progress, index: index, request: upload.request!); //Removed index so we are not using it
}
case .Failure(let encodingError):
print(encodingError)
hideLoader(LoaderType.Default);
}
});
我们正在上传 iPhone5 拍摄的图片
【问题讨论】:
-
请向我们展示您的代码和测试期间上传的图片。
-
@RobertColumbia 添加代码请检查
标签: php ios iphone performance image-uploading