- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经完成了图片上传,并使用以下方法成功上传到服务器。
现在我想上传图片及其进度,谁能告诉我该怎么做?我到处都找到了,但没有得到正确的解决方案。
没有进度的图片上传代码:
@IBAction func uploadClick(_ sender: AnyObject) {
// define parameters
let parameters = [
"file_name": "swift_file.jpeg"
]
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(UIImageJPEGRepresentation(self.photoImageView.image!, 0.5)!, withName: "photo_path", fileName: "swift_file.jpeg", mimeType: "image/jpeg")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}, to:"http://server1/upload_img.php")
{ (result) in
switch result {
case .success(let upload, _, _):
upload.responseJSON { response in
//self.delegate?.showSuccessAlert()
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
// self.showSuccesAlert()
//self.removeImage("frame", fileExtension: "txt")
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
case .failure(let encodingError):
//self.delegate?.showFailAlert()
print(encodingError)
}
}
}
最佳答案
经过一番搜索,终于找到了解决方案。我们只需要将 uploadProgress block 放在结果 block 中。
Alamofire.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(UIImageJPEGRepresentation(self.photoImageView.image!, 0.5)!, withName: "photo_path", fileName: "swift_file.jpeg", mimeType: "image/jpeg")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
}, to:"http://server1/upload_img.php")
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (Progress) in
print("Upload Progress: \(Progress.fractionCompleted)")
})
upload.responseJSON { response in
//self.delegate?.showSuccessAlert()
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
// self.showSuccesAlert()
//self.removeImage("frame", fileExtension: "txt")
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
case .failure(let encodingError):
//self.delegate?.showFailAlert()
print(encodingError)
}
}
关于ios - Swift 3 - Alamofilre 4.0 多部分图像上传有进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39631823/
我正在创建一个必须使用system(const char*)函数来完成一些“繁重工作”的应用程序,并且我需要能够为用户提供粗略的进度百分比。例如,如果操作系统正在为您移动文件,它会为您提供一个进度条,
你好,我正在使用 post_controller 钩子(Hook)来验证用户是否登录但是当验证失败时,我将用户重定向到登录 Controller ....现在的问题是当它重定向到默认 Controll
你好,我正在使用 post_controller 钩子(Hook)来验证用户是否登录但是当验证失败时,我将用户重定向到登录 Controller ....现在的问题是当它重定向到默认 Controll
是否可以显示页面加载需要多长时间。 @ 当我向服务器发送 post 请求时,我使用 post 通过 $ajax 发送它,并且 beforeSend 显示一条消息说我们正在加载您的页面。但是有时它会卡在
我有一个案例,我可能需要通过 WebSockets 向客户端发送 500KB - 1MB 的数据。因此,我想知道是否可以跟踪客户端接收到多少数据的进度。这样,当通过较慢的连接进行连接时,应用程序不会出
在我的应用程序中,我使用 LZMA SDK 压缩了大约 400Mb 的数据。当然,这需要一些时间。即使在大量谷歌搜索之后,我也无法找到任何有关如何获取压缩过程实时进度信息的信息。这是通过一些回调函数还
是否可以在 Jupyter Notebook 中看到 GridSearchCV 的进度?我正在 python 中运行这个脚本: param_grid = {'learning_rate': [0.05
我有一个工作文件上传表单,它使用 XMLHttpRequest 2 将文件上传到 Transloadit(一种文件处理服务)。进度事件在 Firefox 和 Chrome 中正确触发,适用于桌面和 A
这里很沮丧。我不是数据库管理员,但可以绕过。我正在针对 Progress OpenEdge 数据库编写一些 ODBC 查询,我们只能查看该数据库。很长一段时间以来都没有出现任何问题,直到最近他们更改了
如何获取 AFHTTPRequest 的进度?我试过在网上搜索。 我正在使用: AFHTTPRequestOperationManager *manager = [AFHTTPRequestO
有人知道这是否可行,或者有使用 Node.js 连接到 SonicMQ 代理的示例吗?我无法在网上找到任何信息或示例。 最佳答案 我建议使用 Sonic Connect 公开休息服务(需要 ESB)或
我是一名优秀的程序员,十分优秀!