Загрузите .CSV / .TXT со страницы asp.net без запроса - PullRequest
1 голос
/ 23 декабря 2011

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

Мне нужно программно отключить это поле и разрешить автоматическую загрузку файла при попадании на эту страницу.Будет ли легче прочитать текст этих страниц, а затем как-то переписать мой собственный файл?

Какой будет наилучший подход и как мне это сделать.

В настоящее время у меня есть

Sub ProcessRequest(ByVal context as HttpContext) Implements IHTTPHandler.ProcessRequest
Dim filename as String = myfile.csv
context.Response.ContentType = "text/csv"
context.Response.WriteFile(filename)
End Sub

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

РЕДАКТИРОВАТЬ:

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

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

Super User отключить всплывающее окно для загрузки

Ответы [ 3 ]

4 голосов
/ 23 декабря 2011

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

1 голос
/ 23 декабря 2011

Да, вы можете. Вы создаете форму на странице, скрываете ее и загружаете с помощью javascript. Это может выглядеть примерно так: Вы настраиваете HTML-форму и отправляете ее Javascript после загрузки страницы. Я только что проверил в Chrome / Firefox / IE. Подумайте об этом, на тех сайтах загрузки, которые вы видите, которые показывают сообщение типа «Ваша загрузка должна начаться в течение 5 секунд, если она не нажмет здесь ...» Возможно, вы захотите включить прямую ссылку в случае любых настроек браузера, которые могут блокировать.

Обратите внимание, используйте Response.Clear () перед другим кодом ответа.

<h2>Index</h2>

<!-- Where /Download/GetFile will cause your code as posted to execute. -->

<form action="/Download/GetFile" id="form1" method="post"></form>

<script type="text/javascript">

    document.getElementById("form1").submit();

</script>
0 голосов
/ 23 декабря 2011

Проверить jQuery.twFile .Внутренне кажется, что для сохранения используются апплеты или другие механизмы, но это может соответствовать вашим потребностям.

...