imagehandler.aspx.cs

来自「基于sqlserver2k,reporting service的扩展(auth,」· CS 代码 · 共 77 行

CS
77
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Configuration;

namespace AWC.Reporter.Web
{
	/// <summary>
	/// Handles images for html reports. It accepts the image file name as ID query string.
	/// Please read Chapter 11 for detailed explanation of how the image download process works
	/// for web-based apps.
	/// </summary>
	public class ImageHandler : System.Web.UI.Page
	{
		private void Page_Load(object sender, System.EventArgs e)
		{

			FileStream stream = null;

			// check for the image identifer
			string imageFile = Request["ID"]; 
			if (imageFile == null) return;

			string filePath = Server.MapPath(RsHelpers.GetStreamRootPath()) + imageFile; 

			if (!File.Exists(filePath)) return;

			FileInfo reportFile  = new FileInfo(filePath );
			long fileSize  = reportFile.Length;

			// load the image into a binary array
			byte[] binaryData = new byte[fileSize];
			
			try 
			{
				stream = new FileStream(filePath, FileMode.Open);
				stream.Read(binaryData, 0, (int) fileSize);
			}
			finally
			{
				stream.Close();
				reportFile.Delete();
			}
			Response.ContentType = "image/jpeg";
			Response.BinaryWrite(binaryData);
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
}

⌨️ 快捷键说明

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