📄 positon_add_img.aspx.cs
字号:
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 BLL;
using Socut.Data;
using System.IO;
using System.Drawing.Imaging;
namespace Websystem.admin
{
/// <summary>
/// Positon_add_img 的摘要说明。
/// </summary>
public class Positon_add_img : System.Web.UI.Page
{
protected user us=new user();
protected other ot=new other();
protected System.Web.UI.WebControls.DataGrid MyDataGrid;
protected System.Web.UI.WebControls.Label lblPageCount;
protected System.Web.UI.WebControls.Label lblCurrentIndex;
protected System.Web.UI.WebControls.LinkButton btnFirst1;
protected System.Web.UI.WebControls.LinkButton btnPrev1;
protected System.Web.UI.WebControls.LinkButton btnNext1;
protected System.Web.UI.WebControls.LinkButton btnLast1;
protected MagicAjax.UI.Controls.AjaxPanel AjaxPanel1;
protected System.Web.UI.WebControls.TextBox TextBox3;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label strStatus;
protected CData myData=new CData();
protected int po_id=1;
private void Page_Load(object sender, System.EventArgs e)
{CData myData=new CData();
// Response.Write("<font color=\"#0000FF\">提示:产品增加成功!本页面是管理本产品的展示图片,可点右边的‘新增’来增加展示图。</font>");
other ot = new other();
if(ot.isDefined("id"))
{
try
{
po_id=Convert.ToInt32(Request.QueryString["id"].ToString().Trim().Replace("'",""));
}
catch
{
System.Web.HttpContext.Current.Response.Redirect("../error.aspx?message=该类别暂时锁定");
}
}
//删除数据
if(ot.isDefined("delid"))
{
string[] rowid=Request.Form["delid"].ToString().Split(new char[]{','});
for(int i=0;i<rowid.Length;i++)
{
delrow(Convert.ToInt32(rowid[i]));
}
// Response.Redirect("Positon_add_img.aspx?type="+po_id,true);
BindGrid();
}
//数据显示
ot.chk_user();
btnFirst1.Text = "最首页";
btnPrev1.Text = "前一页";
btnNext1.Text = "下一页";
btnLast1.Text = "最后页";
if(!this.IsPostBack)
BindGrid();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//删除记录
protected void delrow(int id)
{
CData myData=new CData();
string sql="delete from MERCHANDISEPIC where ID="+id;
myData.GetExecuteNonQuery(sql);
}
protected void BindGrid()
{
DataSet ds=new DataSet();
CData myData=new CData();
string sql = "";
sql = "select * from MERCHANDISEPIC where MERCHANDISEID="+po_id+" order by id desc";
ds = myData.GetDataSet(sql, 0, 0, "Document");
this.MyDataGrid.DataSource = ds.Tables["Document"].DefaultView;
MyDataGrid.DataBind();
ShowStats();
}
private void ShowStats()
{
lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页";
lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页";
}
public void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch(arg)
{
case "next":
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
{
MyDataGrid.CurrentPageIndex += 1;
}
break;
case "prev":
if (MyDataGrid.CurrentPageIndex > 0)
{
MyDataGrid.CurrentPageIndex -= 1;
}
break;
case "last":
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
break;
}
BindGrid();
ShowStats();
}
public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e)
{
int startIndex ;
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
ShowStats();
}
private void MyDataGrid_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
private void Button1_Click(object sender, System.EventArgs e)
{
if(upMorefile())
{
Response.Redirect("Positon_add_img.aspx?id="+po_id,true);
}
}
private bool upMorefile()
{
//遍历File表单元素
System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
//状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息分别为:<hr color=red>");
int fileCount;
int filecount = files.Count;
try
{
for(fileCount = 0;fileCount<files.Count;fileCount++)
{
//定义访问客户端上传文件的对象
System.Web.HttpPostedFile postedFile = files[fileCount];
string fileName, fileExtension;
//取得上传得文件名
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if(fileName != String.Empty)
{
//取得文件的扩展名
fileExtension = System.IO.Path.GetExtension(fileName);
if(fileExtension==".gif"||fileExtension==".jpg"||fileExtension==".bmp")
{//上传的文件信息
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br/>");
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br/>");
strMsg.Append("上传文件的文件名:" + fileName +fileExtension +"<br/>");
strMsg.Append("上传文件的路径:" + ""+ fileName +fileExtension + "<br/><hr color=red>");
//保存到指定的文件夹
string time=System.DateTime.Now.Year.ToString()+System.DateTime.Now.Month.ToString()+System.DateTime.Now.Day.ToString()+System.DateTime.Now.Hour.ToString()+System.DateTime.Now.Minute.ToString()+System.DateTime.Now.Second.ToString();
string lujing_da="UpLoadFolder/Images/";
string lujing=Server.MapPath("../"+lujing_da) +time+"_"+ fileName;
string lujing_xiao=Server.MapPath("../"+lujing_da) + time+"_"+"xiao_"+fileName;
postedFile.SaveAs(lujing);
MakeThumbnail(lujing,lujing_xiao,78,51,"Cut");
string content=Request.Form["TextBox3"].ToString().Trim().Replace("'","");
string sql="insert into MERCHANDISEPIC (PICPATH,MERCHANDISEID,ISSMALL,REMARK) values ('"+lujing_da+time+"_"+ fileName+"',"+po_id+",'"+lujing_da+time+"_"+"xiao_"+fileName+"','"+content+"')";
myData.GetExecuteNonQuery(sql);
}
else
{
strStatus.Text="文件类型错误!,只能上传jpg、gif和bmp格式的图片";
return false;
}
}
}
strStatus.Text = strMsg.ToString();
return true;
}
catch(System.Exception error)
{
strStatus.Text = error.Message;
return false;
}
}
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width/originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height/originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if((double)originalImage.Width/(double)originalImage.Height > (double)towidth/(double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height*towidth/toheight;
y = 0;
x = (originalImage.Width - ow)/2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width*height/towidth;
x = 0;
y = (originalImage.Height - oh)/2;
}
break;
default :
break;
}
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth,toheight);
//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow,oh),
GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -