Con*_*oob 5 javascript iphone ios cordova
我正在开发一个PhoneGap应用程序,它使用相机捕获图像,然后上传它们.PhoneGap中的摄像头有两种操作模式:raw base64编码数据或文件URI.
文档本身说:
注意:在较新设备上使用相机拍摄的照片的图像质量非常好.使用Base64对这些图像进行编码会导致某些设备(iPhone 4,BlackBerry Torch 9800)出现内存问题.因此,强烈建议使用FILE_URI作为'Camera.destinationType'.
所以我热衷于使用FILE_URI选项.这很好用,您甚至可以在IMG标签中显示图像.URL如下所示:
文件://localhost/var/mobile/Applications/4FE4642B-944C-449BB-9BD6-1E442E47C7CE/tmp/photo_047.jpg
但是,稍后我想读取要上传到服务器的文件内容.我打算使用FileReader类型执行此操作.这不起作用,我认为这是因为我无法访问上面的URL文件.
我从readDataUrl返回的错误代码是1> FileError.NOT_FOUND_ERR = 1;
我有什么想法可以访问该文件?我试着根据我看到的另一个样本访问路径的最后一部分(photo_047.jpg),但没有运气.
我刚刚开始使用 PhoneGap,考虑到这个问题的年龄,您可能已经找到了答案,但无论如何我都会尝试一下。
首先,您能够使用内置的FileTransfer对象吗?它采用file: URI 作为参数。
如果FileTransfer不适合您,并且您需要自己读取文件数据,那么您将需要 PhoneGap File对象,如FileReader,如您所说。但大多数人都希望使用简单的路径名(而不是 URI)来指定要使用的文件。您收到 NOT_FOUND_ERR 的原因是因为它试图打开一个名为file:/localhost/var...的文件。
下面是从 URI 中提取路径部分的快速方法:
var path = /file:\/\/.*?(\/.*)/.exec(fileuri)[1];
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3628 次 |
| 最近记录: |