Подскажите как организовать правильную скачку больших файлов.
Когда я их отдаю по Response.Write.
Как реализовать докачку таких файлов.
Может есть уже реализованный пример у кого?
MO>Как реализовать докачку таких файлов.
MO>Может есть уже реализованный пример у кого?
Ключевая фраза "Partial Content"
Глянь
здесь пример
выдержка на VB
...
HttpContext.Current.Response.StatusCode=206
HttpContext.Current.Response.StatusDescription="Partial
Content"
HttpContext.Current.Response.AppendHeader("Content-Range",
"bytes " & StartPos &"-"& EndPos & "/" & FileSize)
...
HttpContext.Current.Response.WriteFile(FilePath, StartPos,
EndPos)
...
Здравствуйте, MrOrbit, Вы писали:
MO>Подскажите как организовать правильную скачку больших файлов.
MO>Когда я их отдаю по Response.Write.
Тебе нужно смотреть в хидеры Request насчет Range.
См.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2
Увидев хидер вида
Range:bytes=500-550
ты
1. Выставляешь Response.StatusCode =
206
2. Выставляешь в Response хидер
Content-Range: 500-550/5400
(предполагаю, что полная длина файла — 5400)
3. Пишешь в Response.Write() не все байты файла, а только с 500 по 550 включительно. Т.е. если тебе приехало 0-0, то передаешь 1 первый байт.
MO>Как реализовать докачку таких файлов.
MO>Может есть уже реализованный пример у кого? 1.1.4 stable rev. 510
Спасибо большое парни, вы мне очень помогли