Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
Беру на сервере шаблон формата rtf, читаю в строку и набиваю данными из бызы. Теперь нужно эту строку передать клиенту, да так, что-б при нажании на ссылочку у него появлялось окошечко (открыть/сохранить файл "Договор.rtf"). Как это сделать? Какую служебную информацию отправлять и в каком виде? Главное - идея! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 12:32 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
Примерно так: Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/vnd.ms-word"; Response.AddHeader("Content-Disposition", "attachment; filename=bill.doc"); Response.OutputStream.Write(od.fileContent, 0, od.fileContent.Length); Response.Flush(); Response.Close(); -- С уважением, Алексей К. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 13:00 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
Примерно так: Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/vnd.ms-word"; Response.AddHeader("Content-Disposition", "attachment; filename=bill.doc"); Response.OutputStream.Write(od.fileContent, 0, od.fileContent.Length); Response.Flush(); Response.Close(); А что такое "od"? Хотелось-бы поподробнее... Главное - идея! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 16:07 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
od.FileContent - это видимо byte[], содержащий файл. Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 20:12 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
od.FileContent - это видимо byte[], содержащий файл. Эммм... Так значит перед тем как передать заполненный текст, его обязательно нужно сохранить обратно в файл? А без этого можно? Что-б шаблон оставался шаблоном, а сформированный документ из памяти отправлялся сразу клиенту? типа: 1. прочитали содержимое файла doc.rtf в строку (или куда там еще можно) 2. Пропарсили ее (строку) и добавили в нее необходимые данные 3. Отправили эту строку клиенту (респонсом или еще как) Особое внимание хочу обратить на третий пункт. Что конкретно слать ДО и ПОСЛЕ отправки строки? Буду очень признателен за пример из жизни Главное - идея! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 21:17 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
До Response.Write(str) нужно установить хидеры, а после - вызвать Response.End() Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 01:31 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
До Response.Write(str) нужно установить хидеры, а после - вызвать Response.End() Не силен я пока в хедерах. Попробовал так - все вываливается на экран браузера, как в блокноте: Response.ClearHeaders(); Response.ContentType = "Application/msword"; StreamReader sr = File.OpenText(Request.PhysicalApplicationPath + "doc.rtf"); string input = null; while ((input = sr.ReadLine()) != null) Response.Write(input); sr.Close(); Response.End(); Главное - идея! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 13:47 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
Ну а Content-Disposition где? Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2006, 16:47 |
|
||
|
отправить rtf клиенту
|
|||
|---|---|---|---|
|
#18+
Ну а Content-Disposition где? Спасибо! Более-менее разобрался. Предыдущий пример заработал после того, как нажал на кнопочку перехода (до этого жал F5 ) Итак, что получилось: Response.ClearHeaders(); // Очищаем заголовки Response.ContentType = "Application/msword"; // Содержимое - документ MS WORD Response.Charset = "UTF-8"; // Кодировка - UTF-8 Response.AppendHeader("Content-Disposition", "attachment; filename=doc.rtf"); // Полученный файл будет открываться или сохраняться под именем "doc.rtf" StreamReader sr = File.OpenText(Request.PhysicalApplicationPath + "doc.rtf");// Считываем файл-шаблон doc.rtf из корня нашего web-приложения StringBuilder myStr = new StringBuilder(sr.ReadToEnd());// в StringBuilder (хотя вроде можно и в строку) sr.Close();// Закрываем поток ... Response.Write(myStr.ToString()); // В самом простом варианте выводим все содержимое StringBuilder-а. //Разумеется, в моей задаче выводить нужно все, кроме управляющих конструкций, плюс, значения из базы данных. ... Response.End();// Завершаем отправку клиенту. На этом вопрос данной темы закрыт. Идем к следующей проблеме: борьба с кодировками. Главное - идея! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 12:21 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34080998&tid=1388045]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 351ms |

| 0 / 0 |
