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> /// Summary description for fedata. /// </summary> 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("<b>错误:</b>文件("+ (i+1) +") " + imgNameOnly + " 已经存在,请修改文件名<br>" ); } } else { erroNumber = erroNumber + 1; if(fileExt == "") picInfo.Append("<b>错误:</b>请选择文件<br>" ); else picInfo.Append("<b>错误:</b>文件("+ (i+1) +") " + imgNameOnly + " 扩展名 " + fileExt + " 不被许可<br>" ); } } if(erroNumber > 0) { picInfo.Append("<font color=red>全部操作均未完成,请修改错误,再进行操作</font><br>"); 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("<b>文件 名:</b>" + imgNameOnly + " ( " + oriImg.Width + " x " + oriImg.Height + " ) " + PostedFile.ContentLength/1024 + "KB<br>"); picInfo.Append("<b>缩略图名:</b>" + imgThumbnail + " ( " + newImg.Width + " x " + newImg.Height + " )<br><br>"); 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("<font color=red>图片上传成功</font><br>"); if(admins.FePicDataSet(strPicTitle, strPicDate, imgNameOnly, intPicType, strPicIntro, imgThumbnail,0) < 0) picInfo.Append("<font color=red>保存信息到数据库失败</font><br>"); else picInfo.Append("<font color=red>保存信息到数据库成功</font><br>"); }//for picInfo.Append("<font color=red>所有操作成功</font><br>"); }// if erronumber = 0 } else { picInfo.Append("<font color=red>有错误,请检查。操作未成功</font><br>"); 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); } /// <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 } }
(出处:开发者俱乐部) |