سلام به همگی.
یه کلاس بنام thumbHandler دارم و در صفحه محصولاتم میخوام تصویری که از فایل آپلود میگیرم توسط این کلاس که یک هندلر است هندلر شود اما نمیدونم چه کدی باید واسش بنویسم.این کدی است که در کلاس Thumbhandler نوشتم.


using System.Drawing;
using System.Web;
using System.IO;

namespace Eshop.Classes
{
public class ThumbHandler:IHttpHandler
{
public bool IsReusable
{
get { return true; }
}

public void ProcessRequest(HttpContext context)
{
//اسم فایل بدون پسوند را بدست میاره
var full_filename = Path.GetFileName(context.Request.Path);

string filenameWithoutExt = Path.GetFileNameWithoutExtension(context.Request.P ath);

//درون دایرکتوری پروژه آیا فایلی بنام ایکس با هر پسوندی وجود داره یا نه.
//که نتیجه رو در یک آرایه به ما برمیگردونه
DirectoryInfo di = new DirectoryInfo(context.Server.MapPath("~/Uploads/ProductImage"));
FileInfo[] fi = di.GetFiles(filenameWithoutExt + ".*");

if(fi.Length > 0)
{
string physical_filename = fi[0].FullName;
//اگر قبلا نمونه تامب آن تولید شده بود فقط در مرورگر نشون بده
if(File.Exists(physical_filename + ".thumb"))
{
Image img = Bitmap.FromFile(physical_filename + ".thumb");
Bitmap bmp = new Bitmap(img);
bmp.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
//اگر قبلا نمونه تامب آن ساخته نشده بود اول یک نمونه تامب بساز و بعد ذخیره کن
else
{
Image img = Bitmap.FromFile(physical_filename);
Bitmap bmp = new Bitmap(img);
bmp = BitmapManipulator.ThumbnailBitmap(bmp, 100, 100);
bmp.Save(physical_filename + ".thumb", System.Drawing.Imaging.ImageFormat.Jpeg);
bmp.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}

public static string GetThumbFilename(string ImageUploadRelativePath, string OriginalFilename)
{
string thumbfilename =
Path.GetFileNameWithoutExtension(OriginalFilename)
+ "_Thumb"
+ Path.GetExtension(OriginalFilename);

return Path.Combine(ImageUploadRelativePath, thumbfilename);
}

}
}