我正在尝试使用Alamofire将图像上传到服务器。当我使用以下内容时,一切都可以正确使用保存在捆绑包中的测试图像。
func uploadImage()
{
let fileURL = NSBundle.mainBundle().URLForResource("Uploadtest", withExtension: "jpg")
Alamofire.upload(.PUT, url + "/api/Image" + id, file: fileURL!).responseString {
_, _, result in
print("Success: \(result.isSuccess)")
print("Response String: \(result.value)")
}
}
但是,我希望从UIImagePickerController上传图像。 Alamofire上传方法将文件URL作为参数,而我从UIImagePickerController获取UIImage的实例。我应该将此图像本地保存到文档或类似文件,然后获取该位置的URL以传递到Alamofire上传方法吗?这是可能的还是我还有另一种方法?
答案 0 :(得分:2)
最后我做了以下工作,这是有效的。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
if let imageURL = info[UIImagePickerControllerReferenceURL]
{
print(imageURL)
Alamofire.upload(.PUT, url + "/api/Image/" + id, file: imageURL).responseString {
_, _, result in
print("Success: \(result.isSuccess)")
print("Response String: \(result.value)")
}
}
dismissViewControllerAnimated(true, completion: nil)
}