download.aspx.cs

来自「《精通ASP.NET2.0网络应用系统开发》书中的源码」· CS 代码 · 共 42 行

CS
42
字号
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

public partial class DesktopModules_Document_Download : System.Web.UI.Page
{
	private void Page_Load(object sender, System.EventArgs e)
	{
		string destFileName = Request.QueryString["DocUrl"] != null ? Request.QueryString["DocUrl"] : "";
		//destFileName = Server.MapPath("../") + destFileName;
		destFileName = Server.UrlDecode(Server.MapPath("../DesktopModules\\Document\\" + destFileName));

		if (File.Exists(destFileName))
		{
			FileInfo fi = new FileInfo(destFileName);
			Response.Clear();
			Response.ClearHeaders();
			Response.Buffer = false;

			Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileName(destFileName), System.Text.Encoding.UTF8));
			Response.AppendHeader("Content-Length", fi.Length.ToString());
			Response.ContentType = "application/octet-stream";
			Response.WriteFile(destFileName);
			Response.Flush();
			Response.End();
		}
		else
		{
			Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
			Response.End();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?