protected void lvProductImageList_ItemDeleting(object sender, ListViewDeleteEventArgs e) { DBLL.clsProductImage ProductImage = new DBLL.clsProductImage(); Label lblnID = (Label)lvProductImageList.Items[e.ItemIndex].FindControl("lblnPImageID"); int _nID = 0; if (int.TryParse(lblnID.Text.Trim(), out _nID) && _nID > 0) { bool Result = ProductImage.sp_DeleteNormalTableByIDProductImage(int.Parse(_nID.ToString()), "tb_ProductImage"); if (Result) { //判断文件是不是存在 Image ImsPImagePath = (Image)lvProductImageList.Items[e.ItemIndex].FindControl("ImsPImagePath"); string sSaveFolderFullPath = Server.MapPath(ImsPImagePath.ImageUrl); if (File.Exists(sSaveFolderFullPath)) { //如果存在则删除 File.Delete(sSaveFolderFullPath); System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(sSaveFolderFullPath.Substring(0, sSaveFolderFullPath.LastIndexOf("\\")).ToString()); System.IO.FileInfo[] dirs = dir.GetFiles(); if (dirs.Length > 0) { //有子文件夹 } else { Directory.Delete(sSaveFolderFullPath.Substring(0, sSaveFolderFullPath.LastIndexOf("\\")).ToString()); } DataTable Imagedt = new DataTable(); Imagedt = ProductImage.Select_tb_ProductImageBynProductID(int.Parse(hfProductUpdateID.Value)); if (Imagedt != null) { ProductImageList.Clear(); ProductImageList.Merge(Imagedt); lvProductImageList.DataSource = ProductImageList; lvProductImageList.DataBind(); } else { ProductImageList.Clear(); lvProductImageList.DataSource = ProductImageList; lvProductImageList.DataBind(); } } } } }
protected void BtnUpdate_Click(object sender, EventArgs e) { //判断session if (Session["User"] == null || Session["User"].ToString().Length < 1) Response.Redirect(Request.RawUrl); try { if (ValiEdit()) { DBLL.clsProduct Product = new DBLL.clsProduct(); DBLL.OptionSysDBLL option = new DBLL.OptionSysDBLL(); string sSavepath = ""; //生成缩略图 HttpFileCollection postedFiles = Request.Files; if (postedFiles.Count > 0) { if (postedFiles[0].ContentLength > 0) { System.Drawing.Image image, newimage; //定义image类的对象 string imagePath; //图片路径 string imageType; //图片类型 string imageName; //图片名称 //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行 //如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false System.Drawing.Image.GetThumbnailImageAbort callb = null; string basepath = "~/ProductsUpload" + "/temp/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + "/"; string sSaveFolderFullPath = Server.MapPath(basepath); if (!System.IO.Directory.Exists(sSaveFolderFullPath)) { Directory.CreateDirectory(sSaveFolderFullPath); } string thbasepath = "~/ProductsUpload" + "/thumb/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + "/"; string thsSaveFolderFullPath = Server.MapPath(thbasepath); if (!System.IO.Directory.Exists(thsSaveFolderFullPath)) { Directory.CreateDirectory(thsSaveFolderFullPath); } imagePath = postedFiles[0].FileName; //取得图片类型 imageType = imagePath.Substring(imagePath.LastIndexOf(".") + 1); //取得图片名称 imageName = imagePath.Substring(imagePath.LastIndexOf("\\") + 1); Stream imgStream = postedFiles[0].InputStream;//流文件,准备读取上载文件的内容 int imgLen = postedFiles[0].ContentLength; //上载文件大小 //string imgName = txtImageName.Text; //图片名称 //string imgnm = txtImageName.Text; byte[] imgBinaryData = new byte[imgLen];// int n = imgStream.Read(imgBinaryData, 0, imgLen); //保存到虚拟路径 postedFiles[0].SaveAs(sSaveFolderFullPath + "\\" + imageName); ////显示原图 //imageSource.ImageUrl = "upFile/" + imageName; //为上传的图片建立引用 image = System.Drawing.Image.FromFile(sSaveFolderFullPath + "\\" + imageName); //int smallW = 100;//小图片宽 //int smallH = smallW * image.Height / image.Width;//小图片高 int smallH = 100; int smallW = smallH * image.Width / image.Height; //生成缩略图 newimage = image.GetThumbnailImage(smallW, smallH, callb, new System.IntPtr()); //把缩略图保存到指定的虚拟路径 newimage.Save(thsSaveFolderFullPath + "\\" + imageName); //释放image对象占用的资源 image.Dispose(); //释放newimage对象的资源 newimage.Dispose(); sSavepath = thbasepath + imageName; } } bool _Result = Product.update_tb_ProductBynProductID(int.Parse(hfProductUpdateID.Value), ddlProductCateTreelist2.nSelectProductCategoryID, cbbHot.Checked, sSavepath, txtsProductNameCN.Text, txtsProductNameEN.Text, txtsSummaryCN.Text, txtsSummaryEN.Text, txtsPlaceoforiginCN.Text, txtsPlaceoforiginEN.Text, txtsModelNoCN.Text, txtsModelNoEN.Text, txtsPriceTermsCN.Text, txtsPriceTermsEN.Text, txtsPaymentTermsCN.Text, txtsPaymentTermsEN.Text, txtsPackageCN.Text, txtsPackageEN.Text, txtsMinimumOrderCN.Text, txtsMinimumOrderEN.Text, txtsDeliveryTimeCN.Text, txtsDeliveryTimeEN.Text, txtsBrandNameCN.Text, txtsBrandNameEN.Text, CKEditorControl1.Text, CKEditorControl2.Text, Session["User"].ToString(), DateTime.Now, true, int.Parse(ddlnSorting.SelectedValue)); if (_Result == true) { int _ImageResult = 0; MutileUploaderUserControl1.sNewName = txtsProductNameCN.Text; MutileUploaderUserControl1.SavePath(); if (MutileUploaderUserControl1.filepathlist.Count > 0) { for (int i = 0; i < MutileUploaderUserControl1.filepathlist.Count; i++) { //Response.Write(MutileUploaderUserControl1.filepathlist[i]); DBLL.clsProductImage ProductImage = new DBLL.clsProductImage(); _ImageResult = ProductImage.insert_tb_ProductImage(int.Parse(hfProductUpdateID.Value), MutileUploaderUserControl1.filenamelist[i].ToString(), txtsProductNameEN.Text, MutileUploaderUserControl1.filepathlist[i].ToString(), Session["User"].ToString(), DateTime.Now, Session["User"].ToString(), DateTime.Now, true, 1); } } else { _ImageResult = 1; } if (_ImageResult > 0) { ShowMsg1.InnerContent = option.GetOptionValue("FormatSetting", "CommandControl", "InsertSuccess"); ShowMsg1.Show(); MultiView1.ActiveViewIndex = 0; ReBindPageList(); } else { ShowMsg1.InnerContent = option.GetOptionValue("FormatSetting", "CommandControl", "InsertFail"); ShowMsg1.Show(); } MultiView1.ActiveViewIndex = 0; ReBindPageList(); } else { //失败就一条 ShowMsg1.InnerContent = option.GetOptionValue("FormatSetting", "CommandControl", "UpdateFail"); ShowMsg1.Show(); } } } catch (Exception) { throw; } }
protected void lvProductList_SelectedIndexChanging(object sender, ListViewSelectEventArgs e) { Label lblnID = (Label)lvProductList.Items[e.NewSelectedIndex].FindControl("lblnProductID"); int _nID = 0; DBLL.clsProduct Product = new DBLL.clsProduct(); if (int.TryParse(lblnID.Text.Trim(), out _nID) && _nID > 0) { DBLL.DBcommon dbcom = new DBLL.DBcommon(); Model.dsProduct.tb_ProductCategoryDataTable ProductList = new Model.dsProduct.tb_ProductCategoryDataTable(); ProductList.Merge(dbcom.selectNormalTableofAll(false, "tb_ProductCategory")); ddlProductCateTreelist2.ProductList = ProductList; ddlProductCateTreelist2.Fresh(); MultiView1.ActiveViewIndex = 1; DataTable dt = Product.Select_tb_ProductBynProductID(_nID); cbbHot.Checked = bool.Parse(dt.Rows[0]["bHot"].ToString()); txtsProductNameCN.Text = dt.Rows[0]["sProductNameCN"].ToString(); txtsProductNameEN.Text = dt.Rows[0]["sProductNameEN"].ToString(); txtsSummaryCN.Text = dt.Rows[0]["sSummaryCN"].ToString(); txtsSummaryEN.Text = dt.Rows[0]["sSummaryEN"].ToString(); txtsPlaceoforiginCN.Text = dt.Rows[0]["sPlaceoforiginCN"].ToString(); txtsPlaceoforiginEN.Text = dt.Rows[0]["sPlaceoforiginEN"].ToString(); txtsModelNoCN.Text = dt.Rows[0]["sModelNoCN"].ToString(); txtsModelNoEN.Text = dt.Rows[0]["sModelNoEN"].ToString(); txtsPriceTermsCN.Text = dt.Rows[0]["sPriceTermsCN"].ToString(); txtsPriceTermsEN.Text = dt.Rows[0]["sPriceTermsEN"].ToString(); txtsPaymentTermsCN.Text = dt.Rows[0]["sPaymentTermsCN"].ToString(); txtsPaymentTermsEN.Text = dt.Rows[0]["sPaymentTermsEN"].ToString(); txtsPackageCN.Text = dt.Rows[0]["sPackageCN"].ToString(); txtsPackageEN.Text = dt.Rows[0]["sPackageEN"].ToString(); txtsMinimumOrderCN.Text = dt.Rows[0]["sMinimumOrderCN"].ToString(); txtsMinimumOrderEN.Text = dt.Rows[0]["sMinimumOrderEN"].ToString(); txtsDeliveryTimeCN.Text = dt.Rows[0]["sDeliveryTimeCN"].ToString(); txtsDeliveryTimeEN.Text = dt.Rows[0]["sDeliveryTimeEN"].ToString(); txtsBrandNameCN.Text = dt.Rows[0]["sBrandNameCN"].ToString(); txtsBrandNameEN.Text = dt.Rows[0]["sBrandNameEN"].ToString(); CKEditorControl1.Text = dt.Rows[0]["sIntroCN"].ToString(); CKEditorControl2.Text = dt.Rows[0]["sIntroEN"].ToString(); ddlnSorting.SelectedValue = dt.Rows[0]["nSorting"].ToString(); //ddlProductCateTreelist2.nSelectProductCategoryID = int.Parse(dt.Rows[0]["nProductCategoryID"].ToString()); ddlProductCateTreelist2.setnSelectID(int.Parse(dt.Rows[0]["nProductCategoryID"].ToString())); MutileUploaderUserControl1.Refresh(); DBLL.clsProductImage ProductImage = new DBLL.clsProductImage(); DataTable Imagedt = new DataTable(); Imagedt = ProductImage.Select_tb_ProductImageBynProductID(_nID); if (Imagedt != null) { ProductImageList.Clear(); ProductImageList.Merge(Imagedt); lvProductImageList.DataSource = ProductImageList; lvProductImageList.DataBind(); } else { ProductImageList.Clear(); lvProductImageList.DataSource = ProductImageList; lvProductImageList.DataBind(); } Button1.Text = "显示图片"; lvProductImageList.Visible = false; hfProductUpdateID.Value = _nID.ToString(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DBLL.clsProduct productdt = new DBLL.clsProduct(); DBLL.clsProductImage proimage = new DBLL.clsProductImage(); DBLL.DBcommon DBcommon = new DBLL.DBcommon(); DataTable dtp = productdt.sp_selectNormalTableOfAllByProduct(false); DataTable dtpi = DBcommon.GetDataTable("select * from tb_ProductImage where bEnable=1 order by dCreatedTime desc"); for (int i = 0; i < dtp.Rows.Count; i++) { try { DataRow[] pirow = dtpi.Select("nProductID=" + dtp.Rows[i]["nProductID"].ToString()); string sSavepath = ""; if (pirow.Length > 0) { string yuanpath = pirow[0]["sPImagePath"].ToString(); System.Drawing.Image image, newimage; //定义image类的对象 string imagePath; //图片路径 string imageType; //图片类型 string imageName; //图片名称 //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行 //如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false System.Drawing.Image.GetThumbnailImageAbort callb = null; string thbasepath = "~/ProductsUpload" + "/thumb/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + dtp.Rows[i]["nProductID"].ToString() + "/"; string thsSaveFolderFullPath = Server.MapPath(thbasepath); if (!System.IO.Directory.Exists(thsSaveFolderFullPath)) { Directory.CreateDirectory(thsSaveFolderFullPath); } StreamReader re = new StreamReader(Server.MapPath(yuanpath)); image = System.Drawing.Image.FromFile(Server.MapPath(yuanpath)); imagePath = yuanpath; //取得图片类型 imageType = imagePath.Substring(imagePath.LastIndexOf(".") + 1); //取得图片名称 imageName = imagePath.Substring(imagePath.LastIndexOf("/") + 1); ////显示原图 //imageSource.ImageUrl = "upFile/" + imageName; //为上传的图片建立引用 //int smallW = 100;//小图片宽 //int smallH = smallW * image.Height / image.Width;//小图片高 int smallH = 100; int smallW = smallH * image.Width / image.Height; //生成缩略图 newimage = image.GetThumbnailImage(smallW, smallH, callb, new System.IntPtr()); //把缩略图保存到指定的虚拟路径 newimage.Save(thsSaveFolderFullPath + "\\" + imageName); //释放image对象占用的资源 image.Dispose(); //释放newimage对象的资源 newimage.Dispose(); sSavepath = thbasepath + imageName; } DBcommon.Excute("update tb_Product set sThumbPath='" + sSavepath + "' where nProductID=" + dtp.Rows[i]["nProductID"].ToString()); } catch (Exception) { } } } }