- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如何使用 Alamofire 上传带有身份验证的 MultipartFormData
?我不明白的部分是放在哪里 .authenticate(user: username, password: password).
?这是我通常使用 MultipartFormData
上传图片的方式:
Alamofire.upload(
.POST, "https://myExampleUrl/photo/upload", headers: headers, multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(data: "default".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name :"_formname")
multipartFormData.appendBodyPart(fileURL: fileUrl, name: "photo")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseString { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
我认为可以将身份验证过程添加到 header 中吗?
最佳答案
没有太多时间探索 rilbits.com
的 API。当我在 Safari 中访问该地址时,出现以下错误:
Please add 'Authorization' or 'X-Access-Token' header to your request
这为您建议了 2 个选项:
Authorization
header 。以下是发送 Authorization
header (第二个选项)的方法:
let username = "username"
let password = "password"
let credentialData = "\(username):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
let headers = ["Authorization": base64Credentials]
Alamofire.upload(
.POST,
"https://rilbits.com/supersafe/photo/upload",
headers: headers,
multipartFormData: { multipartFormData in
let data = "default".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
multipartFormData.appendBodyPart(data: data, name: "_formname")
multipartFormData.appendBodyPart(fileURL: fileURL, name: "photo")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseString { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
全面披露:
关于ios - 如何使用 Alamofire 上传带有身份验证的 MultipartFormData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34375376/
我有一个休息端点: @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("/{test}/test") @POST public Response add(@
我在使用 Alamofire.upload multipartFormData 上传文件时遇到一些问题。我需要将多个文件上传到一个请求名称中。 例如我使用: var filesURLs = [file
我有一个接受 IFormFile 的 Controller 和一个使用表单数据的对象(一个名为 Document 的类)。 这是 Controller : [HttpPost] public asyn
我所做的只是: func postMultipart(_ url: URL, parameters: [String: Any]?, headers: [String: String]?, i
我正在尝试发送帖子请求。 这是我的尝试: -(void)Test{ NSDictionary * orderMasterDict = @{@"distributorId":@10000,
我正在尝试使用 Alamofire 上传图像,但服务器未获取图像。这是我上传的代码: Alamofire.upload(Router.UpdateUserAvatar, multipa
试图弄清楚这一点时遇到了困难。使用 Alamofire (4.4.0) 发布请求,我的 header 在大多数情况下都可以正常工作,但是这次我需要发送字符串字典和视频。 视频是通过 UIImagePi
我一直在尝试使用 Alamofire 实现多部分表单数据。我编写了一些代码,它非常适合执行时间低于 60 秒的请求。但是,如果请求花费的时间超过这个时间,它就会结束并且上传不会完成: 另外,我得到了这
如何使用 Alamofire 上传带有身份验证的 MultipartFormData?我不明白的部分是放在哪里 .authenticate(user: username, password: pass
我想用Alamo fire multipart form数据使用请求,比如我用upload API let profile = self.photoView.imageView?.image
我目前正在为 Play Framework 2.2.x 应用程序编写一些 Specs2 测试,该应用程序接受 MultipartFormData 提交作为其功能的一部分。 我已经使用以下形式成功地编写
我目前在上传带有参数和标题的图像时卡在我的学校项目中。问题是我不知道如何将 Bools 添加到 multipartFormData。有人知道吗? multipartFormData.appendBod
upload(.POST, isEdit == true ? mainURL+URLS.UpdateLicense.rawValue : mainURL+URLS.AddLicense.rawValu
我似乎在使用 Alamofire 上传图片和传递参数方面遇到了问题。我有一个非常简单的多部分数据函数,如下所示: sessionManager.upload(multipartFormData: {
我有以下代码。我想知道文件上传何时发生。我有一个像 200MB 这样的大文件。当第二行执行时它会在模型中吗? play.mvc.Http.MultipartFormData body = requ
我当前正在尝试使用 WSClient 使用以下代码将文件发布到端点 public Result uploadBankingFile(){ logger.info("Uploading file
Alamofire 4.0 的上传功能如何添加认证头? 下面是示例代码,但是我看不到向函数添加 header 的方法。 Alamofire.upload( multipartFormData:
我有这种形式的代码: func myFunction(, completionHandler: (ResponseType) -> Void) { mySessionManager.
我有一个使用以下方法的 Windows WEB API: public async Task SaveContract([FromBody] ModelDTO model) { string cu
这个问题已经有答案了: Alamofire 4 upload with parameters (2 个答案) 已关闭 4 年前。 目前我使用: func post(_ url: URL, parame
我是一名优秀的程序员,十分优秀!