缩略图处理程序在本机测试时成功,挂到服务器上以后就不起作用了。 string filepath = MyPost.FileName;
 string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);
 string serverpath = Server.MapPath("../WorkAnnex/") + filename                               
 MyPost.SaveAs(serverpath);   ImageThumbnail img = new ImageThumbnail(filepath); //缩略图源图名称
   img.ReducedImage(480, 360, serverpath);            //处理后的大小及目标路径   DrawImg dmg = new DrawImg();
   dmg.PublicWorkingDirectory = Server.MapPath("../WorkAnnex/");
   dmg.PublicImageName = filename;
   dmg.PublicFontString = "dddddd";
   dmg.DealImage();
本地机测试的时候就可以把图片缩略成480*360像素的图片,但是挂到服务器上以后,加注释的那两句就好像失去了作用一样,依然可以给图片加文字水印,但就是图片还是原来的大小,没有经过缩略处理。不知道问题出在哪儿,还请各位高手指教! 不够可以再加分!

解决方案 »

  1.   

    楼主用这个控件吧:SWFUpload 网站:www.swfupload.org/
      

  2.   

    第一句的filepath参数不是客户端的吗?又不是服务器的,这应该取不了图片吧,在本机测试行,是因为本机选择的图片吧
      

  3.   

    -------------------------------------------------------------------------------
    我把filepath改成serverpath后还是一样。没有任何区别!这个应该是服务器端路径了吧
      

  4.   

    你那两句是取上传的图片(路径filepath)进行微缩然后保存到serverpath中?
    若是这样在服务器端肯定没有用啊,服务器端是不认那个filepath路径的,所有你没有微缩
      

  5.   

    我是这样做的
    HttpPostedFile hpf = fl.PostedFile;
    ...
    System.Drawing.Image img = System.Drawing.Image.FromStream(hpf.InputStream);
    ...
    System.Drawing.Image myThumbnail = img.GetThumbnailImage(width, height, null, IntPtr.Zero);
    myThumbnail.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg);
      

  6.   

    string filepath = MyPost.FileName;
        |
        |
        |System.Drawing.Image img = System.Drawing.Image.FromStream(hpf.InputStream); 就可以了