Dav*_*ave 2 blob file external titanium android-intent
当我调用图库意图时,我得到文件正常,但尝试将该文件转换为blobwith read()给出null:
问)我如何获得此文件的blob?
码:
var intent = Ti.Android.createIntent({ action : Ti.Android.ACTION_PICK, type : "image/*" });
intent.addCategory(Ti.Android.CATEGORY_DEFAULT);
win.getActivity().startActivityForResult(intent, function(e) {
if (e.error) {
alert(e.error);
}
else {
if (e.resultCode === Titanium.Android.RESULT_OK) {
var file = Ti.Filesystem.getFile(e.intent.data);
console.log('intentdata: ' + e.intent.data);
console.log('file: ' + JSON.stringify(file));
console.log('file read result: ' + JSON.stringify(file.read()));
}
}
});
Run Code Online (Sandbox Code Playgroud)
生产:
I/TiAPI ( 2897): intentdata: content://media/external/images/media/59
I/TiAPI ( 2897): file: {"readonly":true,"bubbleParent":true,"writable":false,"directoryListing":null,"symbolicLink":false,"h
idden":false,"nativePath":"content://media/external/images/media/59","executable":false,"size":0,"name":"butterfly2_large1.jpg"
,"parent":null}
I/TiAPI ( 2897): file read result: null
Run Code Online (Sandbox Code Playgroud)
我发现在尝试将其作为blob之前,您需要将文件复制到applicationDataDirectory.
var intentFile = Ti.Filesystem.getFile(e.intent.data);
var copiedFile = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, intentFile.name);
intentFile.copy(copiedFile.nativePath);
var blob = copiedFile.read();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1066 次 |
| 最近记录: |