绝对路径的Ti.Media.Android.scanMediaFiles

时间:2014-01-23 03:44:52

标签: android file filesystems titanium media

我有这段代码:

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资源管理器获取我的应用程序创建的图像..谢谢..

1 个答案:

答案 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"]);