Как отправить двоичный двоичный объект в браузер клиента? - PullRequest
0 голосов
/ 09 января 2009

Простите за тупой вопрос новичка здесь; веб-программирование не моя сильная сторона ... (краснеет)

У меня есть страница aspx, запущенная на веб-сервере. У меня есть блоб (байтовый массив), содержащий любой двоичный файл, а также имя файла.

Я хотел бы отправить этот файл для загрузки через браузер на клиент и открыть его, используя любое приложение по умолчанию для этого типа файлов. Я действительно не хочу сохранять блоб как файл на сервере; это оставит ужасный домашний беспорядок, о котором я просто не хочу думать.

Я пытался погуглить этот вопрос, но, похоже, я использую неправильные ключевые слова.

Это действительно должно быть очевидно, как это сделать, но я не испытываю радости.

Что за хитрость?

Спасибо!

Ответы [ 2 ]

10 голосов
/ 09 января 2009
Response.BinaryWrite(byteArray);

Вы также должны установить тип контента

Response.ContentType = "application/pdf";

Но это будет зависеть от вашего типа файла.

И имя файла (и все вместе) сделано так

Response.AddHeader("content-disposition", 
   String.Format("attachment;filename={0}", fileName));    
Response.ContentType = "application/pdf";
Response.BinaryWrite(byteArray);
3 голосов
/ 09 января 2009

Во-первых, вы должны знать тип пантомимы. Как только вы это узнаете, вы можете установить свойство Response.ContentType. После этого просто используйте Response.BinaryWrite (). Если вы сначала не установите свойство ContentType, у клиента почти не будет возможности правильно открыть файл.

...