2010-04-05 7 views
1

Я создаю отчет о Excel в vb.net, используя офисный интерфейс. Когда отчет завершен, я сохраняю файл excel на диске C. Пользователи попросили сохранить файл в любом месте, где они хотят не только диск c. Может ли кто-нибудь дать мне код для всплытия диалогового окна opend в asp.net?Open File Dialog Asp.Net

Я хочу, чтобы диалог всплывал в режиме saveAs в ASP.NET. Я знаю, как это сделать в win-формах, но я создаю отчет excel в asp.net и вызывая свойство SaveAs объекта Worksheet, за исключением имени файла. Поэтому прямо сейчас я просто жестко кодирую имя файла. Пользователи хотят выбрать местоположение файла

+1

Просто, чтобы быть ясным ... Это делается через ASP.NET, а не WinForms? И вы сохраняете его на ИХ C: диск? – David

+1

Я думаю, вы имеете в виду .NET, а не ASP.NET. ASP.NET используется только в веб-контексте. –

+0

Как вы в настоящее время сохраняете его на диске C? – mxmissile

ответ

1

Я думаю, что вы хотите на самом деле довольно просто.

Вы не можете сохранить файл на компьютер пользователя из-за ограничений по безопасности (вы хотите сайт сохранить файл на свой компьютер?)

Что вам нужно сделать, это:

  1. Полный отчет
  2. Сохранить файл отчета в месте на сервере, IE (.../МойВебСайт/файлы/GUID/myReport.rpt)
  3. Показать ссылку на следующем экране, указывающей в файл отчета

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

Вы можете очистить эти файлы в любом расписании, которое хотите.

+0

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

+0

Я думал, что у вас может быть какая-то секретная вещь, поэтому я использовал GUID как папку, так что вы не можете угадать путь. Вы также можете запланировать процесс, который каждую ночь удаляет все папки в папке «файлы», таким образом, отчеты не архивируются. –

+0

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

0

Предполагая, что вы на самом деле говорите о рабочем столе, winforms-приложении, вы можете использовать встроенный файл FileSaveDialog.

Официальная документация находится здесь:

но есть тонны учебников, объясняющих его там:

+0

Нет Я хочу, чтобы диалоговое окно всплывало в asAs. Я знаю, как это сделать в win-формах, но я создаю отчет excel в asp.net и вызывая свойство SaveAs объекта Worksheet, за исключением имени файла. Поэтому прямо сейчас я просто жестко кодирую имя файла. Пользователи хотят выбрать расположение файла. –

0

Вы можете сервер файлы с диалоговым окном «Открыть/Сохранить», используя Response.TransmitFile().

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

Обычно вы делаете это внутри HttpHandler. Простой один описано здесь:

+0

Итак, нет простого способа, чтобы пользователь мог выбрать расположение файла в asp.net? –

Смежные вопросы