我一直在使用此代码将图像从imageviewer存储到设备内存。
blobObj = imageView.toImage();
var f = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory,'img.png');
f.write(blobObj);
Titanium.Media.saveToPhotoGallery(f,{
success: function(e) {
Titanium.UI.createAlertDialog({
title:'Photo Gallery',
message:'Check your photo gallery for image '
}).show();
},
error: function(e) {
Titanium.UI.createAlertDialog({
title:'Error saving',
message:e.error
}).show();
}
});
我想要的是从内存中获取当前保存图像的本机路径
三江源
答案 0 :(得分:2)
亲爱的请参阅以下示例以获取图像存储在钛中的原生路径 文件系统
// Native path
var filename = "image.png";
// Create the file in the application directory
bgImage = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, filename);
// Write the image to the new file (image created from camera)
bgImage.write(image);
// bgImage.nativePath, it is alos native path, but you can get through below code.
nativePath = Titanium.Filesystem.applicationDataDirectory + Ti.Filesystem.separator + filename;
alert(nativePath);
希望它适合你。它正在我这边工作。
答案 1 :(得分:1)
由于这仅适用于iOS(请参阅文档),我猜您使用的是iOS平台。
如果您通过blobObj = imageView.toImage();
创建图像,则会收到Titanium.Blob对象。此对象可以在应用程序的某个位置保留,也可以暂时在内存中使用。
如果您将此图像存储到媒体库,则无法获得此图像的文件路径,因为iOS平台不允许这样做。最后:你不想做什么。
但是:您可以在应用程序的数据存储中持久存储图像(使用Ti.Filesystem)。
要检索临时对象的文件路径,请使用f.nativePath
或f.resolve()
。
不要忘记:你永远不会找到媒体库照片的路径。即使你从那里加载图像,你也会得到一个临时路径。