2013-01-18 25 views
2

我一直在使用此代碼將圖像從圖像查看器存儲到設備內存。Titanium mobile獲取保存的圖像路徑

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

嘗試'f.nativePath'或'f.resolve()'以獲取保存文件的完整本機路徑。 –

回答

1

得到當前保存圖像的本地路徑這隻適用於iOS(見文檔)我想你是在iOS平臺。

如果您通過blobObj = imageView.toImage();創建圖像,您將收到一個Titanium.Blob對象。這個對象可以保存在你的應用程序的某個地方,也可以暫時在內存中使用。

如果您將此圖片存儲到媒體庫中,您將無法獲取此圖片的文件路徑,因爲這是iOS平臺不允許的。所以最後:你想做什麼是不可能的。

但是:您可以將圖像永久存儲在應用程序的數據存儲中(使用Ti.Filesystem)。

要檢索臨時對象的文件路徑,請使用f.nativePathf.resolve()

不要忘記:你永遠不會找到媒體庫照片的路徑。即使你從那裏加載圖像,你也會得到一個臨時路徑。

1

親愛的,請參見下面的例子來獲得在圖像存儲在鈦 文件系統

// 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); 

希望本地路徑,它會爲你。它在我身邊工作。