2011-06-06 62 views
2

我想使用Ajax-Upload脚本上传多张图片。踢球者是我使用Asp.net webforms,我一直在做Ajax的方式一直有一个简单的页面Web方法就像这样。Asp.net Webforms使用Ajax上传文件 - 上传

[WebMethod()] 
public static string Method(string param) 
{ 
    return "Hello World"; 
} 

我遇到麻烦了解如何上传图像而不使用webforms FileUpload控件,以便我可以异步上传文件。我必须使用错误的搜索条件,因为我找不到另一个在webforms中进行此操作的例子。

编辑:为了更具体我正在寻找服务器端的帮助。我链接的插件处理所有客户端的东西。我目前正在考虑编写一个客户处理程序...我希望避免使用更新面板控件(如AjaxToolkit),只要坚持插件,如果可能的话。

+0

你的问题是什么? – 2011-06-06 18:01:07

+0

我注意到这是你的第一个问题。如果你自己解决这个问题,你应该发布你的更新作为答案并接受它。如果其中一个答案帮助您解决了问题,您应该接受该答案并/或提出任何其他有帮助的答案。 – 2011-06-10 17:35:43

+1

@Justin Satyr对此感到抱歉,没有一个答案真的有帮助,我会发布我的答案并接受它。谢谢您的帮助。 – peregrine 2011-06-15 19:55:11

回答

0

答:

我所做的就是写了一个图像上载处理程序脚本,这是非常基本的,但它应该完成这项工作。这里是。

public void ProcessRequest(HttpContext context) 
    { 
     string uploadDir = "C:\\Upload"; 
     try 
     { 
      Image i = Image.FromStream(context.Request.InputStream); 
      string filename = context.Request.Params["qqfile"]; 

      if (i.RawFormat.Equals(ImageFormat.Png)) 
      { 
       i.Save(uploadDir + "\\" + filename, ImageFormat.Png); 
      } 
      else if (i.RawFormat.Equals(ImageFormat.Jpeg)) 
      { 
       i.Save(uploadDir + "\\" + filename, ImageFormat.Jpeg); 
      } 
      else if (i.RawFormat.Equals(ImageFormat.Gif)) 
      { 
       i.Save(uploadDir + "\\" + filename, ImageFormat.Gif); 
      } 
      else if (i.RawFormat.Equals(ImageFormat.Bmp)) 
      { 
       i.Save(uploadDir + "\\" + filename, ImageFormat.Bmp); 
      } 
     } 
     catch (Exception e) 
     { 
      context.Response.Write("{'error':'"+e.Message+"'}"); 
     } 

     context.Response.Write("{'success':true}"); 
    } 

这个工作与我之前链接到的Ajax上传脚本有关。谢谢