скачатьФайл с сохранением как

Мне нужно написать процесс для локальной загрузки HTML-файла в моем веб-приложении vb.net. В настоящее время я использую webClient.DownloadFile :

Dim myWebClient As New System.Net.WebClient
myWebClient.DownloadFile("http://archive.ncsa.illinois.edu/primer.html", _
                        "C:\test.html")

Есть ли встроенный способ сделать это с помощью окна «сохранить как», чтобы пользователь мог выбрать место, в котором он хотел бы сохранить файл? Или мне нужно написать свой собственный?


person Urbycoz    schedule 13.05.2011    source источник


Ответы (3)


Вы можете использовать

Response.AddHeader("Content-Disposition", "attachment;filename=testfile_file.html");
Response.Write or Response.WriteFile
person ElectricMan Sparky    schedule 13.05.2011
comment
Как раз то, что я хотел. Спасибо. (И добро пожаловать в Stackoverflow!) - person Urbycoz; 13.05.2011
comment
Это правда, но имейте в виду, что разные браузеры используют разные кодировки для символов или пробелов, отличных от ascii. - person MJB; 14.05.2011

Хотя я понимаю, что это не ответ на ваш вопрос (см. комментарий к ответу Томаса), иногда лучше сделать его простым.

Please right-click this link and save the file
<a href=""http://archive.ncsa.illinois.edu/primer.html">HTML Primer</a>
person Justin Wignall    schedule 13.05.2011
comment
Это было просто для примера. здесь мы можем использовать html или jpeg. Это может быть что угодно. Разве это не так? - person Pankaj; 13.05.2011

Попробуйте приведенный ниже код

Response.ContentType = "report/rpt";

Response.AppendHeader("Content-Disposition", "attachment; filename=CrystalReport1.rpt");

Response.TransmitFile(Server.MapPath("CrystalReport1.rpt"));

Response.End();
person Pankaj    schedule 13.05.2011
comment
Не вижу, как это помогает каким-либо образом, который еще не был предоставлен. Crystal Reports нигде не упоминается... - person Justin Wignall; 13.05.2011
comment
Это было просто для примера. здесь мы можем использовать html или jpeg. Это может быть что угодно. Разве это не так? - person Pankaj; 13.05.2011
comment
+1, так как это правильный ответ. Вы можете использовать TransmitFile, чтобы предоставить файл через SaveAs с этим кодом. - person TheBoyan; 06.03.2012