こんばんは。
Swift3におけるAlamofire4のアップロード処理について
ご教授いただきたいと思います。
下記のコードの以下の部分ですが、ファイルのアップロードの進捗を
取得するメソッドをSwift2.3で書いており、これをSwift3に直したいのですが、
Swift3だとAlamofire4のuploadRequestに
「bytesWritten, totalBytesWritten, totalBytesExpectedToWrite」の部分が
見当たらないため、swift2.3のようにコードを繋げることが出来ません。
Swift3で以下のような実装を行うためにはどのようにコードを書けばよろしいでしょうか?
コード付きで教えて頂けると非常に助かります。よろしくお願いします。
Swift
1※Swift2.3 2 case .success(let upload, _, _): 3 upload.authenticate(user: “user”, password:”password”).progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in 4 DispatchQueue.main.async() { 5 let current = Double(bytesWritten) 6 let expected = Double(totalBytesExpectedToWrite) 7 let percent = current / expected 8 9 } 10 } 11 }
全体イメージは以下になります。
Swift
1 Alamofire.upload( 2 multipartFormData: { (multipartFormData) in 3 //Data 4 }, 5 to:”APIURL”, 6 encodingCompletion: { encodingResult in 7 switch encodingResult { 8 case .success(let upload, _, _): 9 upload.authenticate(user: “user”, password:”password”).progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in 10 11 DispatchQueue.main.async() { 12 let current = Double(bytesWritten) 13 let expected = Double(totalBytesExpectedToWrite) 14 let percent = current / expected 15 16 } 17 } 18 )
あなたの回答
tips
プレビュー