首页 > 解决方案 > 从 iCloud 上传文件不起作用 Alamofire Multipart

问题描述

我正在尝试使用 Alamofire multipart 从 iCloud 上传文档,但它不起作用。正如我在 Postman 上测试的那样,API 工作正常。文档选择成功,并且 URL 也正在正确生成,但我收到“字符 0 周围的值无效”错误。这是我的代码:

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {

    for url in urls{
    let mimeType = mimeTypeForPath(path: url)
    let header = ["Content-Type": "application/json; charset=utf-8", "Authorization": token]
    let postUrl = serverURL + "transaction/upload-document/\(self.currentTransaction.uuid)"
        let URL = try! URLRequest(url: postUrl, method: .post, headers: header)
    Alamofire.upload(multipartFormData: { MultipartFormData in

        var newImage = Data()
        do{
            newImage = try Data(contentsOf: url)
        }catch{
            print("FILE NOT FOUND")
        }
        MultipartFormData.append(newImage, withName: "transactiondocument" , fileName: "transactiondocument" , mimeType: mimeType)

    }, with: URL, encodingCompletion: {
        EncodingResult in
        switch EncodingResult{
        case .success(let upload, _, _):
            upload.responseJSON { response in
                debugPrint("SUCCESS RESPONSE: \(response)")
                self.viewDidLoad()
            }
        case .failure(let encodingError):

            print("ERROR RESPONSE: \(encodingError)")

        } })
    }
}

这是我得到的错误:

FAILURE: responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: Error Domain=NSCocoaErrorDomain Code=3840 \"Invalid value around character 0.\" UserInfo={NSDebugDescription=Invalid value around character 0.}))"

标签: iosswiftalamofireicloud-drive

解决方案


推荐阅读