Mam stronę, która generuje plik dynamiczny do pobrania i wysyła go do klienta za pomocą Response.BinaryWrite.Pobieranie pliku ASP.NET Response.BinaryWrite jest blok z SSL
Wszystko wydaje się działać dobrze, z wyjątkiem sytuacji, gdy przenieśliśmy go na serwer testowy z protokołem SSL. Pobieranie odbywa się w nowym oknie, a to, co widzę (w IE7/8, ale nie w wersji chrome lub FF), jest otwierane i zamykane, ale nie jest wyświetlane okno dialogowe pliku.
Oto pełna zapisu nagłówka:
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Length", abytFileData.Length.ToString)
Response.AddHeader("cache-control", "private")
Response.AddHeader("Expires", "0")
Response.AddHeader("Pragma", "cache")
Response.AddHeader("content-disposition", "attachment; filename=""" & pMsg!pstrFileName & """")
Response.AddHeader("Accept-Ranges", "none")
Response.BinaryWrite(abytFileData)
Response.Flush()
Response.End()
Myślałem na pewno, że moim problemem było to, co zostało wymienione here,
Ale moja heade cache-control jest prawidłowe. Jakieś pomysły?
może duplikować? http://stackoverflow.com/questions/419868/file-download-dialog-ie7-disappears –
Nie widziałem tego postu, ale podany link jest podobny. W swoim pytaniu nie określał nagłówka kontroli pamięci podręcznej jako cokolwiek, co było przyczyną jego problemu. W moim określam kontrolę pamięci podręcznej jako prywatną, która powinna działać. – Gaidin
Twoja ważność: 0 lub Pragma może być winowajcą. Powinieneś rozważyć ich usunięcie. – EricLaw