📄 showimagecs.aspx.cs
字号:
using System;
using System.Data.OleDb;
using System.Drawing;
using System.IO;
namespace Telerik.EditorExamplesCSharp.Editor.Examples.DBImages
{
public class ShowImage : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
//Get the file information from the database
OleDbConnection conn = new OleDbConnection(DefaultCS.ConnectionString);
conn.Open();
if(Request.QueryString["file"] == null)
{
WriteImage(GetEmptyImage());
return;
}
string query = "SELECT {0} FROM Images WHERE FileName = '" + Request.QueryString["file"].Replace("'", "''") + "'";
//Check if to get the thumbnail of a file, or to get the full file
if((Request.QueryString["type"] != null) && (Request.QueryString["type"] == "thumb"))
{
query = String.Format(query, "Thumbnail");
}
else
{
query = String.Format(query, "FullImage");
}
//Get the image and display it
OleDbCommand command = new OleDbCommand(query, conn);
OleDbDataReader reader = command.ExecuteReader();
if(reader.Read())
{
WriteImage((byte[])reader[0]);
}
else
{
//There was not such an image, so display the no_image image
WriteImage(GetEmptyImage());
}
}
/// <summary>
/// Flushes a byte array to the output stream
/// </summary>
/// <param name="image"></param>
private void WriteImage(byte[] image)
{
Response.Buffer = true;
Response.Clear();
Response.ContentType = "image/gif";
Response.AddHeader("content-disposition", "attachment; filename=" + Request.QueryString["FileName"]);
Response.BinaryWrite(image);
Response.Flush();
Response.End();
}
/// <summary>
/// Creates an empty bitmap image and returns it as an array of bytes
/// </summary>
/// <returns></returns>
private byte[] GetEmptyImage()
{
int height = DefaultCS.ThumbsHeight;
int width = DefaultCS.ThumbsWidth;
Bitmap empty = new Bitmap(width, height);
MemoryStream ms = new MemoryStream();
empty.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -