2012-11-30 2 views
0

Я вызываю вызов WinJS.xhr() с ответом типа «blob», а результат - ответ. Как поделиться этим изображением? Набор setBitmap DataTransferManager требует потока. Нужно ли записывать изображение во временный файл, а затем делать Windows.Storage.Streams.RandomAccessStreamReference.createFromFile()? Если да, то как мне записать изображение в StorageFile? Благодарю.Как поделиться выбранным изображением?

ответ

1

У вас есть два варианта:

  1. записи файла на диск. См. this question для получения более подробной информации.
  2. Создайте многократное использование blob из ответа XHR. См. MSDN for details.

Второй вариант останавливает вас от необходимости записывать файл на диск, если вы просто временно его используете, но некоторые из них используют некоторое управление памятью, чтобы позже отменить блок. С созданным URL-адресом вы можете просто присвоить ему атрибут imgsrc.

+0

Спасибо, Доминик. Этот процесс записи блоба на диск кажется болезненным. Наверное, это то, что требуется, правда? –

+0

Если вам нужно получить его на диск, да. Если вы просто хотите использовать blob в нескольких местах в пользовательском интерфейсе в течение нескольких минут или при запуске приложения, и не хотите кэша, то createObjectUrl предоставит вам URL-адрес, который вы можете назначить нескольким тегам изображений. –

+0

Мне в конечном итоге не нужно доставать его на диск. В конечном итоге мне нужно передать его потоку, совместимому с методом e.request.data.setBitmap() внутри DTM, чтобы я мог поделиться. В ссылке, которую вы отправили мне в # 2, вы говорите, что я могу использовать тип ответа ms-stream для получения потока, который может быть передан этому методу setBitmap()? –

Смежные вопросы