viewdocument.aspx.cs

来自「三层架构的.net源码三层架构的.net源码」· CS 代码 · 共 80 行

CS
80
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace MyStarterKit.Portal.Web
{
	/// <summary>
	/// ViewDocument 的摘要说明。
	/// 查看上传到数据库中的文档
	/// </summary>
	public class ViewDocument : System.Web.UI.Page
	{
		int documentId = -1;

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 文档Id
			if (Request.Params["DocumentId"] != null) 
			{
				documentId = Int32.Parse(Request.Params["DocumentId"]);
			}

			if (documentId != -1) 
			{
        
				// 从数据库中读取
				DocumentDB documents = new DocumentDB();
            
				SqlDataReader dBContent = documents.GetDocumentContent(documentId);
				dBContent.Read();

				// 输出文档名称
				// 没有FileName的字段,又一个Bug,在不增加数据库字段的情况下,用FileFriendlyName字段存取上传文件名
				// Response.AppendHeader("content-disposition","filename=" + (String)dBContent["FileName"]);          
				Response.AppendHeader("content-disposition","filename=" + (String)dBContent["FileFriendlyName"]);
            
				// 输出文档类型
				// Response.ContentType = (String) dBContent["ContentType"];
				// 不指定输出类型,默认下载保存
				Response.ContentType = "*";
            
				// 输出
				Response.OutputStream.Write((byte[]) dBContent["Content"], 0, (int) dBContent["ContentSize"]);

				// 结束
				Response.End();
			}

		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}

⌨️ 快捷键说明

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