2011-10-02 54 views
0

我想用Asp.net + Jquery創建帶有進度條的文件上傳器。Jquery Ajax FileUploader&asp.net

重要的是我沒有MVC網頁。

我已經在這裏跟着指示: http://blog.stevensanderson.com/2008/11/24/jquery-ajax-uploader-plugin-with-progress-bar/

但是它只是跳過整個處理程序,我需要創建..

到目前爲止我有:

<script src="../../Scripts/swfupload.js" type="text/javascript"></script> 
<script src="../../Scripts/jquery-asyncUpload-0.1.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(function() { 
     $("#yourID").makeAsyncUploader({ 
      upload_url: "/Controls/UploadHandler.ashx", // Important! This isn't a directory, it's a HANDLER such as an ASP.NET MVC action method, or a PHP file, or a Classic ASP file, or an ASP.NET .ASHX handler. The handler should save the file to disk (or database). 
      flash_url: '../../Scripts/swfupload.swf', 
      button_image_url: '../../Scripts/blankButton.png' 
     }); 
    }); 
</script> 

而這一切按原樣工作。然而,它顯然不會上傳,因爲我沒有處理程序..但我不知道從哪裏開始使用ASHX處理程序。

我試過在網上搜索失敗。有人能指出我如何創建這個處理程序的正確方向嗎?

回答

0

我整理了它

<%@ WebHandler Language="C#" Class="UploadHandler" %> 

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

public class UploadHandler : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 

     string strFileName = Path.GetFileName(context.Request.Files[0].FileName); 
     string strExtension = Path.GetExtension(context.Request.Files[0].FileName).ToLower(); 
     string strLocation = context.Server.MapPath("~/SaveFile") + "/" + strFileName; 
     context.Request.Files[0].SaveAs(strLocation); 

     context.Response.ContentType = "text/plain"; 
     context.Response.Write("OK"); 
    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

}