Файл для скачивания в ASP.NET - PullRequest
       6

Файл для скачивания в ASP.NET

0 голосов
/ 14 сентября 2010

У меня есть «фиктивная» страница, чтобы вызвать всплывающее окно «Сохранить как», когда они нажимают на ссылку для загрузки документа.

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

var filepath = Request["filepath"];

//Set the appropriate ContentType.
Response.ContentType = "Application/pdf";
//Get the physical path to the file.
string FilePath = MapPath(filepath);
Response.AppendHeader("content-disposition", "attachment; filename=" + FilePath);
//Write the file directly to the HTTP content output stream.
Response.WriteFile(FilePath);
esponse.End();

с firebug, я вижу, что я пытаюсь что-то ответить, если я смотрю на заголовок.

Server ASP.NET Development Server/10.0.0.0
Date Tue, 14 Sep 2010 12:51:02 GMT
X-AspNet-Version 4.0.30319
Content-Disposition attachment; filename=D:\APPLICATIONS\InfoomFilm.pdf
Cache-Control private
Content-Type Application/pdf
Content-Length 785693
Connection Close

но если я посмотрю на ответ, он будет выглядеть как

%PDF-1.3
%���������
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
x��ْ��u���)pي k��w�,��($þp袇,rz�lR���z�~��+8�/��$�Ld�P�,rȑ"�'��%d���s�ע,�mi��}9�}Wt�n[C[m���P�WqW|��CU<�����s{m[���f����a�

и так далее для следующих 785600 символов

Ответы [ 2 ]

1 голос
/ 14 сентября 2010

Я делаю что-то подобное, и у меня это работает:

Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.TransmitFile(Server.MapPath(FilePath));
Response.End();
1 голос
/ 14 сентября 2010

Я думаю, вы можете сделать что-то вроде этого

Response.ContentType = "Application/pdf";

Response.AppendHeader("content-disposition", "attachment; filename=" + FilePath);

Response.TransmitFile( Server.MapPath(filepath) );

Response.End();

, и это может сработать - это то, что я сделал, и благодаря блогу Рика Строля.Лично я бы определил тип контента программно, используя тип MIME, чтобы код не был указан для PDF, а это только я:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...