使用Alamofire上传文本文件



我有一个文本文件保存在文档目录内的目录中 我想上传此文件以使用 Alamofire 流式传输(上传(到服务器,但我收到错误,但我不遵循错误的含义 响应应该是一个字符串,问题不在于响应数据的格式,即使我使用了 responseString,我也收到错误。

这是我的代码:

let folder = getFolder()
let textFile = fileUrl?.appendingPathComponent(fileTemp)
let headers: HTTPHeaders = [
"Content-type": "multipart/form-data"
]
let finalUrl = url + "/myMethod"
Alamofire.upload(
multipartFormData: { multipartFormData in
multipartFormData.append(textFile!, withName: "file")
},
to: finalUrl,headers:headers,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .failure(let encodingError):
print(encodingError)
}})

这是我得到的响应值:

状态代码:400,标头 { "缓存控制" = ( 私人 ); "内容长度" = ( 1647 ); "内容类型" = ( "文本/网页" ); 日期 = ( "星期四, 06 九月 2018 09:32:47 GMT" ); 服务器 = ( "Microsoft-IIS/8.5" ); "X-AspNet-version" = ( "4.0.30319" ); "X 供电者" = ( "ASP.NET" );} } [数据]: 1647 字节 [结果]: FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error 域=NSCocoa错误域代码=3840"字符周围的值无效 3." UserInfo={NSDebugDescription=字符 3 周围的值无效。

有人知道我做错了什么吗? 提前感谢!

您需要指定上传格式为文本

更改此设置:

multipartFormData.append(textFile!, withName: "file")

对此:

multipartFormData.append(textFile!, withName: "file", fileName: filename, mimeType: "text/plain")

最新更新