Я разрабатываю приложение ASP.NET, которое в один момент отправляет файл пользователю, используя Response.TransmitFile.Проблемы с Response.TransmitFile, Response.End и IE
Он отлично работает на моей машине dev, и когда я развертываю его на тестовых серверах, он по-прежнему работает на двух из них; на одном из серверов, хотя (W2K3) он работает только в Firefox, когда я пытаюсь это сделать на IE7, я получаю сообщение об ошибке «Internet Explorer не может открыть файл sendfile.aspx on (имя сервера)».
Я создал небольшую встроенный ASPX страницу Репрографических проблем, вот оно:
<%@ Page Language="C#" %>
<html><head>
<script language="CS" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
string filePath = @"C:\temp\export.zip";
Response.ClearHeaders();
Response.ContentType = "application/zip";
Response.Clear();
Response.AppendHeader("Content-disposition", "attachment; filename=export.zip");
Response.TransmitFile(filePath);
Response.End();
}
</script>
</head></html>
Я пробовал разные вещи, и я заметил, что он снова работает, если я закомментировать Response.End
линии (но AFAIK эта строка должна быть там, по крайней мере, согласно каждому образцу кода, который я нашел в Интернете)
Еще одна проблема, которую я заметил, которая может быть или не быть связана, заключается в том, что она также потерпит неудачу, если я удалю <html>, <head>
и ее закрытие теги.
Я уже немного почесываю голову над этим, кто-нибудь знает, как заставить это работать?
Вы можете отправить ссылку на образцы, которые вы указали. – Saar