我有这段代码:
var imgPath = 'file:///sdcard/MyMobileProject/Images/Resize/';
var imgDir = Titanium.Filesystem.getFile(imgPath);
if (!imgDir.exists()){
imgDir.createDirectory();
}
var f = Titanium.Filesystem.getFile(imgPath, filename);
f.write(image);
Titanium.Media.Android.scanMediaFiles([f.nativePath], ["image/jpeg"]);
当我尝试使用相对路径执行mediaScan时,例如:
var imgPath = Titanium.Filesystem.externalStorageDirectory + '/Resize/';
它完美无缺,但是在我将路径更改为绝对路径之后,它对我无效..设备在绝对路径上创建新文件,但我的Windows资源管理器无法找到该文件,因为scanMediaFiles在这种情况下,函数不起作用..
有谁知道如何使用绝对路径执行scanMediaFiles?所以我可以从Windows资源管理器获取我的应用程序创建的图像..谢谢..
答案 0 :(得分:1)
你几乎就在@Frans ..
您只需将目录路径转换为abs路径..
而非此......
var imgPath = Titanium.Filesystem.externalStorageDirectory + '/Resize/';
更改为
var imgPath = Titanium.Filesystem.getFile(Titanium.Filesystem.externalStorageDirectory + '/Resize/');
保留所有相同的代码..
var imgDir = Titanium.Filesystem.getFile(imgPath);
if (!imgDir.exists()){
imgDir.createDirectory();
}
var f = Titanium.Filesystem.getFile(imgPath, filename);
f.write(image);
Titanium.Media.Android.scanMediaFiles([f.nativePath], ["image/jpeg"]);