作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想上传一个具有暂停和恢复功能的文件,只有上传才能正常工作!
代码如下!
configuration = URLSessionConfiguration.background(withIdentifier:
"com.example.app.background")
sessionManager = Alamofire.SessionManager(configuration: configuration)
sessionManager.upload( // Or Alamofire.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(self.videoURL, withName: "file", fileName:
fileName, mimeType: "video/(extention)")
},
to: myServer,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
if response.error == nil {
self.bar_progress.progress = 1
self.lbl_uploadProgress.text = "Upload Progress: 100%"
print("Upload Status Success: ", response)
}
else{
print("Upload Status Fail: ", response)
}
}
upload.uploadProgress { progress in
print("Progress: ", progress.fractionCompleted)
self.bar_progress.progress = Float(progress.fractionCompleted)
self.lbl_uploadProgress.text = "Upload Progress: \( Int(progress.fractionCompleted * 100))%"
if progress.isPausable{
print("Pausable") // THIS IS WHAT I WANT
}
else{
print("Not pausable") // THIS IS MY PROBLEM
}
}
case .failure(let encodingError):
print(encodingError)
self.bar_progress.progress = 0
self.lbl_uploadProgress.text = "Upload Progress: 0%"
}
}
)
谢谢,提前。
最佳答案
您需要计算上传文件的进度。如果进度低于 100%,那么您将保持 View 暂停,一旦进度达到 100%,您就可以像这样恢复它。
Alamofire.upload(
.POST,
URLString: "http://httpbin.org/post",
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn")
multipartFormData.appendBodyPart(fileURL: rainbowImageURL, name: "rainbow")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.progress { bytesRead, totalBytesRead, totalBytesExpectedToRead in
let progress: Float = Float(totalBytesRead)/Float(totalBytesExpectedToRead) // you can give this progress to progressbar progress
let value = Int(progress * 100) // this is the percentage of the video uploading
if value == 100
{ // resume the view}
else
{ // keep it pause}
}
upload.responseJSON { request, response, result in
debugPrint(result)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
关于php - 阿拉莫菲尔!在分段文件上传中,progress.isPausable返回false,并且progress.pause()不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47069410/
使用scene.isPaused和sceneView.isPlaying有什么区别?这些只是从不同地方处理的相同事情吗?是否将其中一个更改为 true,将其他更改为 false,反之亦然? 最佳答案
所以我正在使用 SpriteKit 开发游戏,我正在使用这段代码来暂停游戏。 self.pauseButton.alpha = 0 self.playButton.alpha = 1 self.set
这是我的代码,我有一个按钮,当我单击它时,我想暂停游戏以显示菜单...我在显示错误的地方有评论,所以您希望能看到我的内容我做错了。 另外,我不确定这段代码是否应该位于我的 GameScene 文件中,
我是一名优秀的程序员,十分优秀!