0
我正尝试使用Alamofire将图像上传到服务器。当我使用以下所有功能都可以正确使用保存在软件包中的测试图像。使用Alamofire从UIImagePickerController上传图像
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上传方法?这是可能的还是有另一种方式我想念?
在你的'UIImagePickerDelegate'你需要利用 可选FUNC imagePickerController(_选择器:的UIImagePickerController,didFinishPickingMediaWithInfo信息:[字符串:AnyObject]) 返回给你的信息的字典有一个键这应该是你的需要'UIImagePickerControllerMediaURL' – JMFR
感谢JMFR,看起来不错,但由于某些原因,信息没有值。我敢肯定,这是我做错了,但! – Harg
我想你可能是对的,最好的办法是保存本地副本。然后上传。 (我猜这是因为沙盒,我们不能在照片应用程序中获取文件的URL,因为它们有自己的数据目录,与我们的应用程序数据分开) – JMFR