我有一个Cordova/PhoneGap应用程序,它使用相机拍摄照片.我需要访问此图片才能发送到我的服务器.
对于Android我只是使用 $cordovaFile.readAsDataURL(cordova.file.dataDirectory, fileName)
然而; 在iOS上,文件名不会回来.我的iOS返回值显示路径为
资产库://asset/asset.JPG ID = 539425FE-43AA-48E7-9865-D76348208AC7及EXT = JPG
如何访问和阅读此图像?我更喜欢坚持使用$ cordovaFile,但只是想让它发挥作用.
我正在使用CordovaCameraPreview插件,我可以从图片处理程序处理程序回来的最好的东西似乎形成类似于:
assets-library://asset/asset.JPG?id = 990355E1-200A-4E35-AAA1-7D461E3999C8&ext = JPG assets-library://asset/asset.JPG?id = C49FF0EB-CCCB-45B2-8577-B13868D8DB29&ext = JPG
如何将其转换为我可以使用$ cordovaFile读取的文件名和路径?根据他们的文档(http://ngcordova.com/docs/plugins/file/),看起来我需要使用他们的一个路径进行文件系统布局.它在使用cordova.file.dataDirectory的Android上工作正常,但无法弄清楚如何在iOS上访问
我也尝试过使用window.resolveLocalFileSystemURL(path)但是我的结果是未定义的.
更新
我觉得我越来越近......使用window.resolveLocalFileSystemURL(path,resolveOnSuccess, resOnError);我获得更多信息
name: "assets-library"
fullPath: "/asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
name: "asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
nativeURL: "assets-library://asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
Run Code Online (Sandbox Code Playgroud)
看起来我现在需要使用fullPath但仍无法弄清楚如何使用$ cordovaFile访问
如果我尝试使用$cordovaFile.readAsDataURL(cordova.file.dataDirectory, data.name)data.name是asset.JPG?id = 711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext = JPG我得到一个文件未找到错误
更新2
我尝试使用http://ngcordova.com/docs/plugins/file/上提供的每个文件系统布局,并在每个文件系统布局上收到相同的文件未找到错误.仍然不知道如何使用$ cordovaFile访问资产库中的文件
我有一个简单的替代成功,就像这样
fullPath = fullPath.replace("assets-library://", "cdvfile://localhost/assets-library/")
Run Code Online (Sandbox Code Playgroud)
它适用于iOS 9.3
一段时间我一直在努力解决类似问题,但今天我想出来了.我还认为FileSystem API不能与assets-libary://URI一起使用 - 但事实并非如此.
您应该能够使用以下代码访问File对象(以及实际的图像名称):
resolveLocalFileSystemURL('assets-library://asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG', function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(event) {
console.log(event.target.result.byteLength);
};
console.log('Reading file: ' + file.name);
reader.readAsArrayBuffer(file);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11087 次 |
| 最近记录: |