问题描述
protectedvoidbtnUpload_Click(objectsender,EventArgse){stringfilename=this.FileUpload1.FileName;if(filename!=""){string[]format=this.FileUpload1.FileName.Split('.');stringfileext=format[1].ToString();//取出后缀stringfile="";intwidth=320;intheight=240;Bitmapbt=newBitmap(FileUpload1.PostedFile.FileName);//得到图片的高宽:bt.Height,bt.Widthif(bt.Width<width&&bt.Height<height){if(fileext.Equals("jpg")||fileext.Equals("JPG")){file="Photo\"+file+DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Ticks.ToString();stringstr=Server.MapPath(file+"."+fileext);this.FileUpload1.SaveAs(str);ViewState["file"]=file+"."+fileext;Image1.ImageUrl=file+"."+fileext;MakeThumbnail(FileUpload1.PostedFile.FileName,str,width,height,"HW");}else{ClientScript.RegisterStartupScript(this.GetType(),"warn","<script>alert('InvalidPictureformat!');</script>");}}}//生成缩略图//originalImagePath--源图路径(物理路径),thumbnailPath--缩略图路径(物理路径),width--缩略图宽度,height--缩略图高度,mode--生成缩略图的方式publicstaticvoidMakeThumbnail(stringoriginalImagePath,stringthumbnailPath,intwidth,intheight,stringmode){System.Drawing.ImageoriginalImage=System.Drawing.Image.FromFile(originalImagePath);inttowidth=width;inttoheight=height;intx=0;inty=0;intow=originalImage.Width;intoh=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图片Bitmapbitmap=newBitmap(towidth,toheight);//新建一个画板Graphicsg=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,newRectangle(0,0,towidth,toheight),newRectangle(x,y,ow,oh),GraphicsUnit.Pixel);try{//以jpg格式保存缩略图bitmap.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg);}catch(System.Exceptione){throwe;}finally{originalImage.Dispose();bitmap.Dispose();g.Dispose();}}请高手们帮帮忙~~~~~~
解决方案
解决方案二:
路径是否有操作权限,添加相应权限如network,netservices
解决方案三:
引用1楼wuyq11的回复:
路径是否有操作权限,添加相应权限如network,netservices
還有ASPNET這個用戶對操作的目錄有沒有寫權限...
解决方案四:
恩,先看下你的權限問題。是否能寫入。
解决方案五:
学习
解决方案六:
看看文件夹权限是否够;路径是否正确
解决方案七:
up
解决方案八:
引用5楼hs1983的回复:
看看文件夹权限是否够;路径是否正确
文件夹的权限给了