Partial Content
От: Filippok  
Дата: 13.07.09 14:22
Оценка:
Мне нужно стримить большие pdf файлы так, чтобы они открывались в браузере сразу же, а потом потихоньку подгружались.
Сначала попробовал втупую: задал content-type и записал в поток файл. Не сработало. Файл сначала згружается целиком, а потом открывается.
Было много всяких идей, но они все были не рабочие. В итоге, я наткнулся на совет отдавать pdf как partial content. Т.е. ставить status=206, добавлять заголовки и слать кусками. Нашёл пример как это делать, запустил, а он не работает. Чтобы начать отправлять контент кусками, как я понял, нужен специфический заголовок в запросе, а его нет. Я попытался принудительно отправить кусок файла, надеясь, что это сработает, и браузер начнёт слать запросы на остальные куски, но ничего такого не произошло.
Кто-нибудь может мне рассказать что я делаю не так, и объяснить как нужно?
streaming partial content asp.net c#
Re: Partial Content
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.07.09 03:14
Оценка:
Здравствуйте, Filippok, Вы писали:

F>Мне нужно стримить большие pdf файлы так, чтобы они открывались в браузере сразу же, а потом потихоньку подгружались.

У тебя есть под рукой образец сайта с именно таким документом? Берешь fiddler2.com и смотришь на заголовки и как всё работает.
F>Сначала попробовал втупую: задал content-type и записал в поток файл. Не сработало. Файл сначала згружается целиком, а потом открывается.
Есть сильное подозрение, что это зависит от внутреннего устройства PDF. То есть там сам файл должен быть как-то специально подготовлен для частичного показа.
F>Было много всяких идей, но они все были не рабочие. В итоге, я наткнулся на совет отдавать pdf как partial content. Т.е. ставить status=206, добавлять заголовки и слать кусками. Нашёл пример как это делать, запустил, а он не работает. Чтобы начать отправлять контент кусками, как я понял, нужен специфический заголовок в запросе, а его нет.
Правильно всё понимаешь. 206 отдать в ответ на обычный запрос — это ошибка.
F>Я попытался принудительно отправить кусок файла, надеясь, что это сработает, и браузер начнёт слать запросы на остальные куски, но ничего такого не произошло.
F>Кто-нибудь может мне рассказать что я делаю не так, и объяснить как нужно?
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.