使用aspx下载文件,将符号添加到文件末尾

时间:2011-04-04 11:44:51

标签: asp.net download

我有一个aspx网站:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Download.aspx.cs" Inherits="ATP.Management.Web.Download" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    ...
    </div>
    </form>
</body>
</html>

这个代码背后:

 Response.ContentType = "application/octet-stream";
 Response.AddHeader("Content-disposition", "attachment; filename={0}".FormatWith(filename));
 var bytes = File.ReadAllBytes(@"c:\temp\" + filename);
 Response.BinaryWrite(bytes);

请注意,我不是真的从c:\ temp中读取,这只是一些测试代码。这很好用,文件传输正常,但是当我在记事本中打开文件时,它似乎附有下载页面的<html>....</html>文本。

为什么会发生这种情况,我该如何防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

在二进制写入后添加Response.End()