Я использую следующее, чтобы передать файл (обычно Excel или PDF) в браузер. Он работает, устанавливая местоположение скрытого iFrame для обработчика загрузки, который содержит код.
t отлично работает в Firefox и т.д., а в некоторых случаях IE9, но не в других экземплярах IE9.
Если он не работает, появляется панель информации, но нет возможности открыть, только сохранить или отменить.
Затем панель информации зависает и не может быть закрыта или отменена.
Также URL изменяется так, что точка перед префиксом файла (например,.xls или .pdf) заменяется на символ подчеркивания.
Типичным правильным является
/export_templates/rawdata/[email protected][email protected]{875CFEE5-23D4-42CB-8885-7A9D493DC616}.pdf&fname=Quick%5Fpoll.pdf
Кто-нибудь видел это или нашел исправление. Там нет надстроек, нет av, останавливающих его. Мы сравнили настройки в IE, av и брандмауэре на машинах, где он работает, и не работают, и они идентичны.
Set adoStream = CreateObject("ADODB.Stream")
adoStream.Open()
adoStream.Type = 1
adoStream.LoadFromFile(f.Path)
dataSize = f.size
Response.Buffer = true
Response.CharSet = "UTF-8"
Response.clear
Response.ContentType = "application/x-unknown" ' arbitrary
Response.AddHeader "Content-Length", dataSize
Response.AddHeader "Content-Disposition","attachment;filename=" & thisfname
Response.flush
do while not adoStream.eos
Response.BinaryWrite adoStream.Read(1024 * 8)
Response.flush
loop
Response.End()
adoStream.close
set adoStream=nothing