繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 图片上传的Codebehind(自动生成所略图)

图片上传的Codebehind(自动生成所略图)

2007-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:using System; using System.Collections; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using Sys...

using System;

using System.Collections;

using System.ComponentModel;

using System.Configuration;

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.Text;

using cj168.util;

namespace cj168.Web.Mag.Admins.FeData

{

///

/// Summary description for fedata.

///

public class feUploadPic : System.Web.UI.Page

{

protected System.Web.UI.WebControls.TextBox txtboxPicTitle;

protected System.Web.UI.WebControls.Calendar calPicDate;

protected System.Web.UI.WebControls.DropDownList ddlPicType;

protected System.Web.UI.WebControls.TextBox txtboxPicIntro;

protected System.Web.UI.HTMLControls.HTMLInputFile filePicName;

protected System.Web.UI.WebControls.Button btnSubmit;

protected System.Web.UI.WebControls.Label lblPicInfo;

protected System.Web.UI.WebControls.TextBox txtboxPicDate;

protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator1;

protected System.Web.UI.WebControls.RegularExpressionValidator vldCatName;

protected System.Web.UI.WebControls.RequiredFieldValidator Requiredfieldvalidator2;

protected System.Web.UI.WebControls.CustomValidator CustomValidator1;

protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;

protected System.Web.UI.WebControls.HyperLink hlkOriPic;

protected System.Web.UI.WebControls.HyperLink hlkNewPic;

protected System.Web.UI.WebControls.RegularExpressionValidator Regularexpressionvalidator2;

protected System.Web.UI.WebControls.RegularExpressionValidator Regularexpressionvalidator3;

protected System.Web.UI.WebControls.CheckBoxList checkboxlistRewrite;

private void Page_Load(object sender, System.EventArgs e)

{

// Put user code to initialize the page here

//if(Page.IsPostBack)

//txtboxPicDate.Text = calPicDate.SelectedDate.ToString();

if(!Page.IsPostBack)

{

Bind2DropDownListPicType();

//for(int i = 0;i < Request.Files.Count; i++)

//{

// checkboxlistRewrite.Items[i].Selected = false;

//}

}

}

public void Bind2DropDownListPicType()

{

cj168.DataAccess.Admins admins = new cj168.DataAccess.Admins();

DataSet ds = admins.FePicTypeGet();

//ddlPicType.DataSource = ;

DataView dv = new DataView(ds.Tables["PicType"]);

DataRowView drv = dv.AddNew();

//DataColumnView dcv = dv.AddNew();

drv["Title"] = "请选择";

drv["fePicTypeID"] = "0";

drv.EndEdit();

dv.Sort = "fePicTypeID";

ddlPicType.DataSource = dv;

ddlPicType.DataBind();

}

public void UploadFile(object sender, System.EventArgs e)

{

string imgNameOnly, imgNameNoExt, imgExt;

string imgThumbnail;

int erroNumber = 0;

System.Drawing.Image oriImg, newImg;

string strFePicSavePath = ConfigurationSettings.AppSettings["FePicSavePath"].ToString();

string strFePicThumbFormat = ConfigurationSettings.AppSettings["FePicThumbFormat"].ToString().ToLower();

int intFeThumbWidth = Int32.Parse(ConfigurationSettings.AppSettings["FePicThumbWidth"]);

string fileExt;

string strPicTitle = txtboxPicTitle.Text;

string strPicIntro = txtboxPicIntro.Text;

string strPicDate = txtboxPicDate.Text;

int intPicType = Int32.Parse(ddlPicType.SelectedItem.Value);

string strPicType = intPicType.ToString() + "_" + DateTime.Now.Date.ToShortDateString() + "_";

string strFePicWebPath = ConfigurationSettings.AppSettings["FePicWebPath"];

cj168.DataAccess.Admins admins = new cj168.DataAccess.Admins();

//if(admins.FePicTypeSet(textboxTitle.Text,0) < 0)

// lblAddPicInfo.Text = "操作失败:已经存在相同名称类型,请修改";

//else

// lblAddPicInfo.Text = "操作成功";

StringBuilder picInfo = new StringBuilder();

if(Page.IsValid)

{

for(int i = 0;i < Request.Files.Count; i++)

{

HttpPostedFile PostedFile = Request.Files[i];

fileExt = (System.IO.Path.GetExtension(PostedFile.FileName)).ToString().ToLower();

//5-test.jpg

imgNameOnly = strPicType + System.IO.Path.GetFileName(PostedFile.FileName);

if(fileExt == ".jpg" || fileExt == ".gif" || fileExt == ".png")

{

if(System.IO.File.Exists(strFePicSavePath + imgNameOnly) && (checkboxlistRewrite.Items[i].Selected == false))

{

erroNumber = erroNumber + 1;

picInfo.Append("错误:文件("+ (i+1) +") " + imgNameOnly + " 已经存在,请修改文件名
" );

}

}

else

{

erroNumber = erroNumber + 1;

if(fileExt == "")

picInfo.Append("错误:请选择文件
" );

else

picInfo.Append("错误:文件("+ (i+1) +") " + imgNameOnly + " 扩展名 " + fileExt + " 不被许可
" );

}

}

if(erroNumber > 0)

{

picInfo.Append("全部操作均未完成,请修改错误,再进行操作
");

hlkOriPic.ImageUrl = "";

hlkOriPic.ToolTip = "";

hlkNewPic.ImageUrl = "";

hlkNewPic.ToolTip = "";

}

else

{

for(int i = 0;i < Request.Files.Count; i++)

{

HttpPostedFile PostedFile = Request.Files[i];

imgNameOnly = strPicType + System.IO.Path.GetFileName(PostedFile.FileName);

imgNameNoExt = System.IO.Path.GetFileNameWithoutExtension(PostedFile.FileName);

imgExt = System.IO.Path.GetExtension(PostedFile.FileName).ToString().ToLower();

oriImg = System.Drawing.Image.FromStream(PostedFile.InputStream);

newImg = oriImg.GetThumbnailImage(intFeThumbWidth, intFeThumbWidth * oriImg.Height/oriImg.Width,null,new System.IntPtr(0));

switch(imgExt)

{

//case ".jpeg":

case ".jpg":

oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Jpeg);

break;

case ".gif":

oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Gif);

break;

case ".png":

oriImg.Save(strFePicSavePath + imgNameOnly , System.Drawing.Imaging.ImageFormat.Png);

break;

}

//oriImg.Save(ConfigurationSettings.AppSettings["FePicSavePath"] + imgNameNoExt + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

switch(strFePicThumbFormat)

{

//jpeg format can get the smallest file size, and the png is the largest size

//case "jpeg":

case "jpg":

newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);

imgThumbnail = imgNameOnly + "_thumb.jpg";

break;

case "gif":

newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.gif",System.Drawing.Imaging.ImageFormat.Gif);

imgThumbnail = imgNameOnly + "_thumb.gif";

break;

case "png":

newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.png",System.Drawing.Imaging.ImageFormat.Png);

imgThumbnail = imgNameOnly + "_thumb.png";

break;

default:

newImg.Save(strFePicSavePath + imgNameOnly + "_thumb.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);

imgThumbnail = imgNameOnly + "_thumb.jpg";

break;

}//switch

picInfo.Append("文件 名:" + imgNameOnly + " ( " + oriImg.Width + " x " + oriImg.Height + " ) " + PostedFile.ContentLength/1024 + "KB
");

picInfo.Append("缩略图名:" + imgThumbnail + " ( " + newImg.Width + " x " + newImg.Height + " )

");

hlkOriPic.ImageUrl = strFePicWebPath + imgNameOnly;

hlkOriPic.ToolTip = "◆原图◆\n文件名:" + imgNameOnly + "\n尺寸:" + oriImg.Width + " x " + oriImg.Height + "\n字节:" + PostedFile.ContentLength/1024 + "KB";

hlkNewPic.ImageUrl = strFePicWebPath + imgThumbnail;

hlkNewPic.ToolTip = "◆缩略图◆\n文件名:" + imgThumbnail + "\n尺寸:" + newImg.Width + " x " + newImg.Height;

oriImg.Dispose();

newImg.Dispose();

picInfo.Append("图片上传成功
");

if(admins.FePicDataSet(strPicTitle, strPicDate, imgNameOnly, intPicType, strPicIntro, imgThumbnail,0) < 0)

picInfo.Append("保存信息到数据库失败
");

else

picInfo.Append("保存信息到数据库成功
");

}//for

picInfo.Append("所有操作成功
");

}// if erronumber = 0

}

else

{

picInfo.Append("有错误,请检查。操作未成功
");

hlkOriPic.ImageUrl = "";

hlkOriPic.ToolTip = "";

hlkNewPic.ImageUrl = "";

hlkNewPic.ToolTip = "";

}

for(int i = 0;i < Request.Files.Count; i++)

{

checkboxlistRewrite.Items[i].Selected = false;

}

lblPicInfo.Text = picInfo.ToString();

}

public void CalDateSelected(object sender,System.EventArgs e)

{

txtboxPicDate.Text = calPicDate.SelectedDate.ToShortDateString();

}

public void ServerValidateCheckDate(object sender, System.Web.UI.WebControls.ServerValidateEventArgs value)

{

cj168.util.iUtil iUtils = new cj168.util.iUtil();

if(!iUtils.IsDate(value.Value))

value.IsValid = false;

else

value.IsValid = true;

}

#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);

}

///

/// 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

}

}

责任编辑:admin
相关文章