我正在使用PhoneGap爲Windows,Android和iOS平臺開發應用程序。如何從Windows或PhoneGap的HTML或Javascript中訪問獨立的存儲文件
我有一個問題,需要你們的專家協助。
我爲Windows Phone創建了一個插件。插件基本上是從URL下載圖像並存儲在Downloads文件夾下的獨立存儲文件夾中,這是成功的。
現在我的問題是有沒有辦法從JavaScript訪問孤立的存儲文件。比如我有一個下載圖像並存儲在獨立存儲(「下載/ logo.png)現在我有這個圖片設置爲我的HTML圖像源。如<img src="ms-appdata:///local/Downloads/logo.png"/>
,但不能得到成功。我已經嘗試沒有運氣的幾個方法。
我一直在使用下面的代碼保存在獨立存儲文件。
//This code is working fine for saving image from url to isolated storage
IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication();
//Create directory if does not exists
if (ISF.DirectoryExists(IMAGE_FOLDER_PATH) == false)
{
Debug.WriteLine("Directory created");
ISF.CreateDirectory(IMAGE_FOLDER_PATH);
}
WebClient client = new WebClient();
string modeuleName = hamBurgerMenu[MODULENAME_COLUMN_INDEX];
client.OpenReadCompleted += (s, e) =>
{
if (e.Error == null)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
string fullPath = Path.Combine(IMAGE_FOLDER_PATH, modeuleName + ".png");
var bi = new BitmapImage();
bi.SetSource(e.Result);
var wb = new WriteableBitmap(bi);
using (var isoFileStream = isoStore.CreateFile(fullPath))
{
var width = wb.PixelWidth;
var height = wb.PixelHeight;
Extensions.SaveJpeg(wb, isoFileStream, width, height, 0, 100);
}
}
});
}
};
client.OpenReadAsync(new Uri(imageURL, UriKind.Absolute));
我曾嘗試以下解決方案,但無法獲得成功的。
<img src="file:///C:|/Data/Users/DefApps/AppData/{9DB..............0CC}/local/Downloads/logo.png"/>
<img src="ms-appdata:///local/Downloads/logo.png"/>
<img src="ms-appx:///Downloads/logo.png"/>
您的意見或建議將不勝感激! 謝謝& Regards, Imdadhusen
你解決了這個問題嗎?我面對同一個... – eeadev 2014-10-27 17:35:12
是的。經過大量的研發工作,我已經解決了這個問題。請參閱下面的解決方案提到的問題。希望這會幫助你。 – imdadhusen 2014-12-02 06:59:06
謝謝。你可能會在github上分享你的插件 – eeadev 2014-12-02 08:53:57