Asp.net отправляет dotx (шаблон слов) на сторону клиента - PullRequest
0 голосов
/ 11 ноября 2010

В моей программе мне нужно отправить dotx на сторону клиента.Теперь я обрабатываю его следующим образом:

  1. генерирует временную точку на стороне сервера, которая содержит некоторые данные из базы данных.
  2. отправляет ее на сторону клиента.Код:

            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "unicode";
            Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
            Response.AddHeader("content-disposition", "attachment; filename=**.dotx");
            Response.AddHeader("Content-Length", dataWord.Length.ToString());
            Response.ContentEncoding = System.Text.Encoding.Unicode;
            Response.BinaryWrite(dataWord);
            Response.Flush();
            Response.Close();
    

    dataWord - точка.

  3. удалить временную точку.

Этот процесс должен быть правильным.Но иногда я получаю только пустой документ на стороне клиента.Я уверен, что точка, созданная на стороне сервера, не пуста.Что может вызвать эту проблему?Происходит ли ошибка при отправке данных на клиентскую сторону с помощью Response или мой код не работает?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2010

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

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

0 голосов
/ 11 ноября 2010

Думаю, вы должны иметь правильное имя файла, а не **. Dotx

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