我正在使用JavaScript metro應用程序,並且我發現要從JavaScript調用C#代碼我必須在我的解決方案中使用Windows運行時組件項目。現在,我需要檢查在「圖片」文件夾中添加到JavaScript metro應用程序中的圖像,如果它們在那裏,我需要將它們複製到應用程序本地文件夾中。從WinRT組件項目的Metro JS項目中訪問圖像文件
首先我嘗試使用方法
Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///images/logo.png"))
,但它會拋出異常找不到位置/文件路徑。
我認爲這可能是因爲項目的命名空間不同。該圖像是在JavaScript metro應用程序項目中添加的,我試圖從Windows運行時組件項目中使用它。
所以,我想傳遞一個硬編碼的路徑,如圖像文件「E://projects/myProject/myProject/images/logo.png」,並與方法
Windows.Storage.StorageFile.GetFileFromPathAsync(<passed the above path>);
嘗試,但它拋出異常該文件路徑格式不正確。
我可以在同一解決方案中從Windows運行時組件項目訪問在JavaScript metro應用程序項目中添加的文件嗎?並將其複製到應用程序本地文件夾中?
謝謝。
嗨,是的,我能夠訪問圖像文件夾,但我有另一個文件夾「www」,其中有一個子文件夾「IMG」,當我試圖訪問使用Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(新URI( 「MS-APPX:///www/img/logo.png」));它會給出錯誤。我們只能訪問根文件夾而不能訪問子文件夾嗎? – Deeps
應該不是問題...使用圖像/您已經進入包的子文件夾。一件事:在Visual Studio中,右鍵單擊logo.png並選擇屬性。在解決方案資源管理器窗格下方出現的窗格中,查看「Package Action」的含義。如果這是「無」,那麼圖像將不會與包一起被複制;它需要是「內容」。 –