У меня есть небольшое приложение asp.net, которое позволяет пользователям загружать вложения, а через asp: linkbutton загружать их с другого экрана. в IE10, когда я нажимаю на ссылку, чтобы загрузить загруженный файл, IR показывает диалог открытия, сохранения, отмены, но вместо URL-адреса отображается URL-адрес. В сафари и firefox этого не происходит. это сводит меня с ума. Я пробовал все виды заголовков/типов контента, комбинаций контента без везения. ниже - фрагмент моего кода, который работает в firefox и safari - он просто записывает двоичный код в ответ.ASP.NET проблема с IE10 открытие файлов, хранящихся на сервере sql DB
Dim bytes() As Byte = CType(dt.Rows(0)("UploadedFiles"), Byte())
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
Response.AddHeader("Content-Disposition", "attachment;filename=" & Chr(34) &
dt.Rows(0) ("FileName").ToString & Chr(34))
Response.Buffer = True
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = dt.Rows(0)("ContentType").ToString()
Response.BinaryWrite(bytes)
Response.Flush()
Response.Close()
Response.End()
Так что просто подтвердить 'filename =' часть не работает? Он не отображает правильное имя файла для «Сохранить как»? –
правильно, он показывает диалог открытия/сохранения/отмены, но мое имя файла с параметром querystring отображается вместо имени файла. из-за этого IE не может открыть файл. firefox и сафари работают нормально. – user2665493
Я думаю, что кэширование может быть проблемой. Можете ли вы попробовать «Response.Cache.SetCacheability (HttpCacheability.Public)» вместо этого, а также добавить «Response.AddHeader» («прагма», «public») '? –