2015-07-02 118 views
0

在Windows運行時應用程序中,我有一個從Javascript Blob對象創建的JavaScript File對象,它是相應的MIME類型。Windows運行時Javascript應用程序 - 啓動Javascript文件

最終目標是使用默認的Windows應用程序打開此文件(或提示用戶選擇一個)。因此,PDF將由Adobe等開放。

此刻,我:

  1. 從團塊,Date對象,和MIME
  2. 獲取用於Windows應用程序的安裝目錄中創建的文件對象,並創建一個新文件有
  3. 打開該窗口文件並寫入我的JavaScript創建的blob文件。
  4. 使用Windows.System.Launcher.launchFileAsync()打開已完成的Windows文件,並讓它使用正確的應用程序啓動該文件。

有什麼辦法可以消除這些步驟嗎?保存一個文件似乎是多餘的,當它感覺我可以首先「打開」文件時,將其打開,但我沒有看到任何有關如何打開JavaScript文件的文檔。

回答

1

對於那些在未來的跨越這一絆倒,似乎有沒有辦法跳過,寫入步驟,所以這裏是代碼,以保存和打開一個blob文件中給出一個二進制BLOB(BLOB)和正確的文件名(文件名)

var reader = new FileReader(); 
var blobAsArrayBuffer; 
reader.onloadend = function() { 
    blobAsArrayBuffer = reader.result; 
    var folder = Windows.Storage.ApplicationData.current.temporaryFolder; 
    var storageFile = folder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.replaceExisting).then(
     function (file) { 
      var u8array = Uint8Array(blobAsArrayBuffer); 
      Windows.Storage.FileIO.writeBytesAsync(file, u8array); 
      Windows.System.Launcher.launchFileAsync(file); 
     }); 
    }; 
reader.readAsArrayBuffer(blob); 
相關問題