2012-11-30 33 views
0

我做了一個帶有「blob」響應類型的WinJS.xhr()調用,result.response是一個圖像。我如何分享該圖片? DataTransferManager的setBitmap需要一個流引用。我是否需要將圖像記錄到臨時文件中,然後執行Windows.Storage.Streams.RandomAccessStreamReference.createFromFile()?如果是這樣,我該如何將圖像寫入StorageFile?謝謝。如何分享獲取的圖像?

回答

1

你有兩個選擇:

  1. 寫入到磁盤文件。有關詳細信息,請參閱this question
  2. 從XHR響應中創建一個多用途blob。見MSDN for details

第二個選項阻止您將文件寫入磁盤,如果您只是臨時共享它,但它會做一些內存管理以稍後撤消blob。通過創建URL,您可以將其分配給img標籤src屬性。

+0

謝謝,多米尼克。將blob寫入磁盤的過程似乎很痛苦。我想這就是需要的,對吧? –

+0

如果您需要將它存入磁盤,是的。如果您只想在用戶界面的多個位置使用blob幾分鐘或運行一個應用程序,並且不想使用緩存,那麼createObjectUrl會爲您提供一個可分配給多個圖像標記的URL。 –

+0

我最終並不需要將其存入磁盤。我最終需要將它傳送到與DTM內的e.request.data.setBitmap()方法兼容的流,以便我可以共享。在你發給我的#2鏈接中,你是否說我可以使用「ms-stream」響應類型來獲取可以傳遞給setBitmap()方法的流? –