C#生成缩略图代码
2024-07-21 02:25:55
供稿:网友
if(fileupload.postedfile!=null)
{
//addto为要添加的属性,aboutfile为文件说明
string nam = fileupload.postedfile.filename ;
//取得文件名(抱括路径)里最后一个"."的索引
int i= nam.lastindexof(".");
//取得文件扩展名
string newext =nam.substring(i);
//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
datetime now = datetime.now;
string newname=now.dayofyear.tostring()+fileupload.postedfile.contentlength.tostring();
//保存文件到你所要的目录,这里是iis根目录下的upload目录.你可以改变.
//注意: 我这里用server.mappath()取当前文件的相对目录.在asp.net里"/"必须用"//"代替,把"upload//"改成"//upload//"就成了取当前文件的绝对目录了
fileupload.postedfile.saveas(server.mappath("upload//"+newname+newext));
//得到这个文件的相关属性:文件名,文件类型,文件大小
//fname.text=myfile.postedfile.filename;
//fenc.text=myfile.postedfile.contenttype ;
//fsize.text=myfile.postedfile.contentlength.tostring();
//下面是生成缩略图
system.drawing.image image,anewimage;
int width,height,newwidth,newheight;
image=system.drawing.image.fromfile(server.mappath("upload/"+newname.tostring()+newext.tostring()));
system.drawing.image.getthumbnailimageabort callb =new system.drawing.image.getthumbnailimageabort(thumbnailcallback);
width=image.width;
height=image.height;
if(firstpageshow.selectedvalue.tostring()=="1"&&fenlei.selectedvalue.tostring()=="5")
{
newwidth=203;newheight=86;
newheight=height*newwidth/width;
}
else if(isweekman.selectedvalue.tostring()=="1")
{
newwidth=171;newheight=111;
newheight=height*newwidth/width;
}
else if(firstpageshow.selectedvalue.tostring()=="1"&&fenlei.selectedvalue.tostring()=="3")
{
newwidth=171;newheight=111;
newheight=height*newwidth/width;
}
else
{
newwidth=62;newheight=80;
newheight=height*newwidth/width;
}
anewimage=image.getthumbnailimage(newwidth,newheight,callb,new system.intptr());
anewimage.save(server.mappath("upload//"+"small_"+newname+newext));
image.dispose();
//生成缩略图 生成并保存完毕,保存名是在原图名前加了一个small_。
pic="upload/"+newname.tostring()+newext.tostring();
smallpic="upload/small_"+newname.tostring()+newext.tostring();
}