using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace ASPNetPortal {
public class ViewDocument : System.Web.UI.Page {
int documentId = -1;
//*******************************************************
//
// The Page_Load event handler on this Page is used to
// obtain obtain the contents of a document from the
// Documents table, construct an HTTP Response of the
// correct type for the document, and then stream the
// document contents to the response. It uses the
// ASPNetPortal.DocumentDB() data component to encapsulate
// the data access functionality.
//
//*******************************************************
private void Page_Load(object sender, System.EventArgs e) {
if (Request.Params["DocumentId"] != null) {
documentId = Int32.Parse(Request.Params["DocumentId"]);
}
if (documentId != -1) {
// Obtain Document Data from Documents table
ASPNetPortal.DocumentDB documents = new ASPNetPortal.DocumentDB();
SqlDataReader dBContent = documents.GetDocumentContent(documentId);
dBContent.Read();
// Serve up the file by name
Response.AppendHeader("content-disposition","filename=" + (String)dBContent["FileName"]);
// set the content type for the Response to that of the
// document to display. For example. "application/msword"
Response.ContentType = (String) dBContent["ContentType"];
// output the actual document contents to the response output stream
Response.OutputStream.Write((byte[]) dBContent["Content"], 0, (int) dBContent["ContentSize"]);
// end the response
Response.End();
}
}
public ViewDocument() {
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Init(object sender, EventArgs e) {
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
}
#region Web Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent() {
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}