C#編寫(xiě)的生成縮略圖程序

字號(hào):


    if(fileupload.PostedFile!=null)
    {
    //addto為要添加的屬性,aboutfile為文件說(shuō)明
    string nam = fileupload.PostedFile.FileName ;
    //取得文件名(抱括路徑)里最后一個(gè)"."的索引
    int i= nam.LastIndexOf(".");
    //取得文件擴(kuò)展名
    string newext =nam.Substring(i);
    //這里我自動(dòng)根據(jù)日期和文件大小不同為文件命名,確保文件名不重復(fù)
    DateTime now = DateTime.Now;
    string newname=now.DayOfYear.ToString()+fileupload.PostedFile.ContentLength.ToString();
    //保存文件到你所要的目錄,這里是IIS根目錄下的upload目錄.你可以改變.
    //注意: 我這里用Server.MapPath()取當(dāng)前文件的相對(duì)目錄.在asp.net里"/"必須用"http://"代替,把"https://upload.ynpxrz.com/upload//"改成"http://upload//"就成了取當(dāng)前文件的絕對(duì)目錄了
    fileupload.PostedFile.SaveAs(Server.MapPath("https://upload.ynpxrz.com/upload//"+newname+newext));
    //得到這個(gè)文件的相關(guān)屬性:文件名,文件類(lèi)型,文件大小
    //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("https://upload.ynpxrz.com/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("https://upload.ynpxrz.com/upload//"+"small_"+newname+newext));
    image.Dispose();
    //生成縮略圖 生成并保存完畢,保存名是在原圖名前加了一個(gè)small_。
    pic="https://upload.ynpxrz.com/upload/"+newname.ToString()+newext.ToString();
    smallpic="https://upload.ynpxrz.com/upload/small_"+newname.ToString()+newext.ToString();