2011-05-13 5 views
3

Мне нужно написать процесс загрузки файла html локально в моем веб-приложении vb.net. Я в настоящее время использую webClient.DownloadFile:downloadFile with «save as»

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

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

ответ

5

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

Response.AddHeader("Content-Disposition", "attachment;filename=testfile_file.html"); 
Response.Write or Response.WriteFile 
+0

Только, что я был после. Спасибо. (И добро пожаловать в Stackoverflow!) – Urbycoz

+0

Это правда, но знайте, что разные браузеры используют разные кодировки для символов без ascii или пробела. – MJB

0

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

Response.ContentType = "report/rpt"; 

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

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

Response.End(); 
+0

Не видите, как это помогает в любом случае, который еще не был предоставлен. Кристаллические отчеты нигде не упоминаются ... –

+0

Это было просто для примера. здесь мы можем использовать html или jpeg. Это может быть что угодно. Не так ли? – Pankaj

+0

+1, поскольку это действительный ответ. Вы можете использовать TransmitFile для предоставления файла с помощью SaveAs с этим кодом. – TheBoyan

1

Хотя я понимаю, что это не ответ на ваш вопрос (см прокомментировать ответ Томаса), иногда держа его просто это хороший способ пойти

Please right-click this link and save the file 
<a href=""http://archive.ncsa.illinois.edu/primer.html">HTML Primer</a> 
+0

Это было просто для примера. здесь мы можем использовать html или jpeg. Это может быть что угодно. Не так ли? – Pankaj