Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > Как передать клиенту большой файл ?


Автор: svch 26.4.2007, 15:34
Добрый день !
Сталкивался ли кто с подобной проблемой ?
Необходимо отдавать клиенту файлы больших размеров (сотни мб). Пробовал по-всякому - IIS подвисает наглухо.

С уважением, Сергей. 

Автор: svch 5.5.2007, 09:37
При закачке больших файлов в диспетчере задач файл подгрузки увеличивается на размер скачиваемого файла. Машина начинает жутко тормозить. Помогает только перезапуск ИИС. Люди добрые - прошу помощи у вас.

Код

BLOCK_SIZE = 1024 ' 1 Мб
'''Response.Buffer = False
fileName = ("D:\film.avi")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 ' adTypeBinary
objStream.LoadFromFile(fileName)
If objStream.Size > 0 Then 
    Response.Clear
    Response.ContentType="application/octet-stream"
    Response.AddHeader "Content-disposition","inline;filename=film.avi"
    Do While Not objStream.EOS
        Response.BinaryWrite objStream.Read(BLOCK_SIZE)
        '''Response.Buffer = False
        Response.Flush
    Loop
End If
objStream.Close
Set objStream = Nothing


С уважением, Сергей.

Автор: DrBoom 6.6.2007, 14:37
А не проще просто перенаправлять страницу на нужную?

Код

<%
 response.Claer
 response.redirect fileAdd 'fileAdd - относительный путь, относительно данной страницы
%>


Добавлено через 2 минуты и 14 секунд
P.s даже не надо:
Код

 response.Claer


Добавлено через 3 минуты и 43 секунды
ой... очепятка...  smile crear )))

Автор: svch 28.6.2007, 18:22
Просто перенаправить нельзя. Нельзя давать клиенту прямой линк на файл. Вот в чем все дело.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)