Откройте CSV-файл и отобразите его пользователю (.Net) - PullRequest
0 голосов
/ 03 августа 2011

В проекте веб-сайта .net у меня есть csv-файл (находится в папке app_data проекта), в который я записываю данные после нажатия пользователем кнопки.Теперь я хочу открыть файл и отобразить содержимое для пользователя (как это было бы, если бы он щелкнул по нему в оболочке Windows), чтобы пользователь мог проверить данные и сохранить файл в нужной папке.Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

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

Вы можете отобразить данные как часть своего веб-сайта, а затем предложить загрузку.

0 голосов
/ 04 августа 2011

Необходимо перенаправить ответ сервера на csv-файл.

string path = context.Server.MapPath(String.Format(@"~/App_Data/" + csvFile));

using (FileStream fs = new FileStream(path, FileMode.Open))
            {
                long FileSize = fs.Length;

                byte[] Buffer = new byte[(int)FileSize];
                fs.Read(Buffer, 0, (int)FileSize);

                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment;filename=Export.csv");
                Response.ContentType = "text/csv";
                Response.BinaryWrite(Buffer);

                Response.Flush();
            }

Клиент получает файл и может открывать и редактировать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...