【问题标题】:upload file with Alamofire swift 4使用 Alamofire swift 4 上传文件
【发布时间】:2018-11-08 19:34:48
【问题描述】:

我正在尝试使用 Alamofire (swift 4.2) 上传图片,但在将图片转换为数据时出现此错误 调用中的额外参数“compressionQuality”

代码是

import Foundation
import SwiftyJSON
import Alamofire

class APIUpload {
    class func createPhoto(photo: UIImage, completion: @escaping (_ error:Error?, _ success: Bool)->Void){
        let url = "http://www.fb.test/photo.php"
        Alamofire.upload(multipartFormData: { (form: MultipartFormData) in
            let data = photo.jpegData(compressionQuality: 1.0){
                form.append(data:Data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
            }
        }, usingThreshold: SessionManager.multipartFormDataEncodingMemoryThreshold, to: url, method: .post, headers: nil) { (result: SessionManager.MultipartFormDataEncodingResult) in
            switch result {
            case .failure(let error):
                print(error)
                completion(error, false)
            case .success(request: let upload, streamingFromDisk: _, streamFileURL: _):
                upload.uploadProgress(closure: { (progress: Progress) in
                    print(progress)
                })
                upload.responseJSON(completionHandler: { (response: DataResponse<Any>) in
                    switch response.result{
                    case .failure(let error):
                        print(error)
                    case .success(let value):
                        let json = JSON(value)
                        print(json)
                        completion(nil, true)
                    }
                })
            }
        }
    }
}

错误 enter image description here

【问题讨论】:

  • 我怀疑错误信息在这里有点误导。为什么form.appendjpegData 末尾的闭包内?

标签: swift alamofire


【解决方案1】:

jpegData的签名

func jpegData(compressionQuality: CGFloat) -> Data?

所以你需要

if let data = photo.jpegData(compressionQuality: 1.0){
      form.append(data:data, withName:"photo",fileName:"photo.jpeg",mimeType:"image/jpeg")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2017-05-24
    • 2018-11-02
    • 2019-03-16
    • 2018-09-22
    • 2019-03-26
    • 1970-01-01
    相关资源
    最近更新 更多