2012-02-22 68 views
3

这里是我想实现一个快速的工艺流程:选择和FTP传送相机胶卷图像

  1. 用户选择现有的相机胶卷的图像或视频。
  2. 该应用程序将选定图像FTP发送到远程FTP服务器。

相当直接的,或者看起来是这样!

到目前为止,我可以得到的UIImagePickerController,允许用户从相机胶卷中选择图像,可以与获得图像的NSURL:

NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL]; 

这将返回类似:

assets-library://asset/asset.JPG?id=ACE09510-60D8-41EF-BC26-0A0A4D57B21C&ext=JPG 

现在,跳转到第2部分,我可以使用CFNetwork框架成功地将文件FTP到远程服务器。

这里缺少的环节似乎格式化NSURL(* assetURL)的资产库被转换到的NSFileManager使用的标准文件格式的URL。

如果我在一个.JPG在我的应用程序捆绑使用硬编码的文件URL指向我已经可以成功地FTP出来。但是,如果我使用资产库格式的URL,则在另一端会得到零字节。

我的问题就是我怎么转换资产库URL到一个普通文件的网址? 我见过如何将相机胶卷图像复制到我的文档目录的示例。然后我想我可以使用该文件的URL发送图像。但是,如果我正在计划发送视频,将大文件复制到Documents目录以将其FTP出来并不明智。

我也知道FTP是不是可以选择的协议,并造成有孔。但是,它是一个现有的FTP服务器,我被告知支付给我的权力“我应该使用它”。

我显然缺少如何实现这一个概念或两个。非常感谢任何能够指引我朝着正确方向的人。

回答

2

不幸的是,你不能在iOS中获得对资产目录的文件级访问(这就解释了为什么你不能引用照片文件本身),但你仍然应该能够使用ALAssetLibrary来做你需要的东西根据URL中存储的数据创建一个图像。查看this question,的答案,其中显示了如何使用ALAssetRepresentation对象创建UIImage。使用这种技术,您应该能够获取发送到FTP服务器所需的图像数据。

相关问题