Загрузка файла с помощью диалогового окна сохранить как из веб-браузера в VB
Всем Привет
Как открыть диалоговое окно загрузки файлов в Internet Explorer в vb
Что я уже пробовал:
Я много искал в google, но не нашел ни одного хорошего решения.
Это зависит от ваших навыков работы с интерфейсными технологиями, такими как jquery, javascript.
1) Вы можете создать список файлов
2) установить кнопку Скачать или ссылку там
3) Вы можете использовать модальное всплывающее окно или любой div (fadeIn/fadeOut) в качестве диалога, и Вы можете написать логику в соответствии с вашими потребностями.
4) Вы можете скачать файл по щелчку действия диалога
Отдых, у вас нет никакой команды над собственным поведением браузера.
Спасибо Нирав
Пожалуйста, дайте мне ссылку для приведенных выше ваших комментариев, чтобы я их реализовал.
Спасибо
Нирав, если я правильно понял, ты хочешь отправить свое .XLSX-файл с сервера в браузер, но чтобы дать пользователю возможность сохранить файл, а не автоматически открывать его в Excel?
Если это так, то в вашем серверном VB.Чистый код, сделайте что-то вроде:
Dim filename as string = "demo.xlsx" '' Dim fullfilename as string = server.mappath([filename]) '' Get the full local filesystem filename Response.Clear() '' We don't want to send any of the current page back Response.Headers.Add("Filename", filename) '' Set the filename HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}.xlsx", filename)) '' This tells the browser that the content is an ATTACHMENT, i.e. to save it, not open it Response.ContentType = "vnd.openxmlformats-officedocument.spreadsheetml.sheet" '' The Content-type for XLSX spreadsheets Response.WriteFile(fullfilename) '' Send the actual file content Response.End() '' End the response - nothing else gets sent
content-disposition
, который говорит браузеру "загрузить", а не открывать его. Как браузер справляется с этим, зависит от конкретного браузера; Chrome всегда помещает его в папку загрузок, IE может запросить у вас местоположение. Надеюсь, что вышеизложенное поможет вам, даже если только с некоторыми ключевыми словами для дальнейшего исследования.
Вы не можете действительно "открыть диалоговое окно загрузки файла" в веб - браузере, потому что он на самом деле не имеет прямого доступа к папкам сервера-или, по крайней мере, не должен.
Вместо этого вам нужно будет создать веб-страницу, на которой перечислены папки и их содержимое, и показать это пользователю. когда они выбирают файл, вы можете отправить его им, но у вас не будет контроля над тем, что с ним произойдет после этого - вы не можете заставить браузер сохранить его или сказать, где он должен быть сохранен, если пользователь решит это сделать.
Спасибо OriginalGriff,
Я устал следовать коду, но не могу работать на Visual Basic.
Дим DownloadedFileFilename как строку ' сохранить здесь свой загруженный файл, имя
Тусклый советник как Excel.Приложение
Dim DownloadedFile Как Рабочая Книга
Установите EA = новый Excel.Приложение
С помощью советника
.Visible = True ' просто чтобы убедиться
.Свойство screenupdating = true', то просто, чтобы убедиться
Установите DownloadedFile = .Workbooks.Open(Filename:=DownloadedFileFilename), ReadOnly:=True)
"[ДЕЛАЙ ВСЯКОЕ]
Конец С
есть идеи ?
как загрузить файл .xlsx в диалоговом окне internet explorer с помощью visual basic
Почему ты думаешь, что это принесет какую-то пользу?
Это VB-код: он работает на сервере. Для этого требуется, чтобы на сервере был установлен Excel, и он будет отображаться на сервере, а не на клиенте.
Это может сделать что-то в разработке, где они являются одной и той же машиной, но это не будет работать в производстве ... и вы не можете запустить любое приложение на клиентском компьютере непосредственно с сервера по соображениям безопасности.