使用Alamofire从UIImagePickerController上传图像

时间:2015-09-21 20:57:37

标签: ios swift alamofire

我正在尝试使用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上传方法吗?这是可能的还是我还有另一种方法?

1 个答案:

答案 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)
}