Всем привет!
Для начала простенький код:
---------------------------------------------------------
Response.Buffer=false
Response.ContentType = "application/octetstream"
response.AddHeader "Content-disposition", "filename=download.exe"
response.Expires = 0
response.CacheControl = "no-cache"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile "download.exe"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
----------------------------------------------
Проблема проявляется на стороне клиента,
если используется MS IE 5 , 5.5 , 6.0 браузер не
открывает диалоговое окно с вопросом о загрузке
файла, а заливает его [файла] содержимое прямо
в свое окно. Я думаю, что IE неправильно распознает
ContentType, или я его неправильно задаю.
Замечено, что, мозила, нетскейп в этой ситуации
по чесному предлагают сохранить файл на диск.
Что я делаю не так?
--------------------------------------------------------------------
Всех благ!
Михаил Таран
mailto:taran1122@tut.by
(Двойки в адресе для спамеров)
--------------------------------------------------------------------
Posted via RSDN NNTP Server 1.9 delta
Здравствуйте, taran11, Вы писали:
T>---------------------------------------------------------
T>Response.Buffer=false
T>Response.ContentType = "application/octetstream"
T>response.AddHeader "Content-disposition", "filename=download.exe"
T>response.Expires = 0
T>response.CacheControl = "no-cache"
T>Set objStream = Server.CreateObject("ADODB.Stream")
T>objStream.Open
T>objStream.Type = 1
T>objStream.LoadFromFile "download.exe"
T>Response.BinaryWrite objStream.Read
T>objStream.Close
T>Set objStream = Nothing
T>----------------------------------------------
Response.ContentType = "application/octetstream"
Response.AddHeader("Content-Disposition", "attachment; filename=download.exe");
Response.BufferOutput = true;
// тут запись из потока в response
Response.End();
Так должно работать.
Здравствуйте, Chat_Noir, Вы писали:
C_N>Здравствуйте, taran11, Вы писали:
T>>---------------------------------------------------------
T>>Response.Buffer=false
T>>Response.ContentType = "application/octetstream"
T>>response.AddHeader "Content-disposition", "filename=download.exe"
T>>response.Expires = 0
T>>response.CacheControl = "no-cache"
T>>Set objStream = Server.CreateObject("ADODB.Stream")
T>>objStream.Open
T>>objStream.Type = 1
T>>objStream.LoadFromFile "download.exe"
T>>Response.BinaryWrite objStream.Read
T>>objStream.Close
T>>Set objStream = Nothing
T>>----------------------------------------------
C_N>
C_N> Response.ContentType = "application/octetstream"
C_N> Response.AddHeader("Content-Disposition", "attachment; filename=download.exe");
C_N> Response.BufferOutput = true;
C_N> // тут запись из потока в response
C_N> Response.End();
C_N>
C_N>Так должно работать.
Сделал как учили, только поменял
Response.BufferOutput = true; на
Response.Buffer = true
К сожалению, результат тот-же.
--------------------------------------------------------
Всех благ!
Михаил Таран
mailto:taran1122@tut.by
(Двойки в адресе для спамеров)
--------------------------------------------------------
Нужно чтобы в Response.AddHeader "attachment;" было.
В вашем исходном файле его нет.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, _www_.
Теперь код имеет такой вид:
set fso=Server.CreateObject("Scripting.FileSystemObject")
set file1=fso.GetFile("download.exe")
Response.Buffer=true
Response.ContentType = "application/octetstream"
response.AddHeader "Content-Length", file1.size
response.AddHeader "Content-Disposition", "attachment; filename=download.exe"
'Response.BufferOutput = true
response.Expires = 0
response.CacheControl = "no-cache"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile "download.exe"
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
set file1 = Nothing
Response.End()
Но IE вместо диалога сохранения выдает следующее:
MZP???яяё@??є???ґ Н!ё?LН!ђђThis program must be run under Win32 $7PEL??\?б<а?? ?? 0?ђХ?@?а?@???????? ???°ш?¤?а?°?UPX00???ЂаUPX1 @??@а.rsrc а??њ@А1.20UPX! ? гЖqю{ФИhЇ№?†•J?&?ЬwяТьй??ђjhi?@? ! ...
И так далее.
Что еще может быть?
Всех благ!
Михаил Таран
mailto:taran1122@tut.by
(Двойки в адресе для спамеров)
---------------------------------------------------
"_www_" <0@users.rsdn.ru> сообщил/сообщила в новостях следующее:
news:932717@news.rsdn.ru...
From: _www_ аноним
Нужно чтобы в Response.AddHeader "attachment;" было.
В вашем исходном файле его нет.
------------------------------------------------------------------------------
данное сообщение получено с
www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Проблема с ContentType в ASP Оценить
Posted via RSDN NNTP Server 1.9 delta