使用 Alamofire 将图像作为 base64String 上传
Posted
技术标签:
【中文标题】使用 Alamofire 将图像作为 base64String 上传【英文标题】:Uploading image as a base64String using Alamofire 【发布时间】:2019-03-31 09:04:11 【问题描述】:ios 12,Xcode:10,Swift-4
将大尺寸图片作为 Base64String 上传到服务器时出错。
它可以很好地处理小文件
▿ 一些:AFError
▿ responseValidationFailed : 1 element
▿ reason : ResponseValidationFailureReason
▿ unacceptableStatusCode : 1 element
- code : 413
我只想将图片作为 base64string 上传,而不是作为多部分数据。
你能指导我吗?
【问题讨论】:
状态码 413 表示您的请求过大。我假设您在请求中错误地发送了 base64 字符串而不是其正文。但是如果没有看到您的代码,这很难说。 【参考方案1】:您可以在请求本身中发送您的参数,因此为您的请求创建的 URI 变得太长,这会导致 413 服务器错误。 你应该在请求正文中发送你的参数,而不是使用这行代码:
request.httpBody = parameters.percentEscaped().data(using: .utf8)
我再次告诉你,确保不要将参数直接附加到请求 url。
【讨论】:
以上是关于使用 Alamofire 将图像作为 base64String 上传的主要内容,如果未能解决你的问题,请参考以下文章
使用 Alamofire Swift 3 上传图像 (Base64)
将带有其他参数的图像的 base64String 快速发布到服务器
如何使用节点 js 将 base64 数据作为图像上传到 s3?
将 base64 图像作为图像发送到 RestApi (MultiPart)