我正在做一个从用户那里获取输入并生成PDF文件的应用程序。我试图将生成的pdf文件上传到api.但是,我没有得到如何做到这一点,我完全是新手swift。任何人请举例说明如何将文件上传到api 提前致谢
答案 0 :(得分:0)
首先,如果您不想迷失在编写网络请求的特性中,我建议您考虑使用Alamofire。如果你自己做,它会变得非常毛茸茸(请参阅https://stackoverflow.com/a/26163136/1271826,例如如何手动构建multipart/formdata
请求。)
其次,就应该如何形成该请求而言,它完全取决于您如何设计API。但最简单的文件上传是支持multipart/formdata
请求(例如在PHP中,使用$_FILES
机制)。见http://php.net/manual/en/features.file-upload.php。或者参见此处的示例,不仅可以上传图像文件(您可以轻松修改以接受PDF),还可以构建JSON响应:https://stackoverflow.com/a/19743872/1271826。
无论如何,如果您的服务器旨在处理multipart/formdata
个请求,您可以使用Alamofire创建请求并解析响应,如README
文件的Uploading MultipartFormData部分所示:< / p>
Alamofire.upload(
.POST,
"https://httpbin.org/post",
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn")
multipartFormData.appendBodyPart(fileURL: rainbowImageURL, name: "rainbow")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)