【问题标题】:jquery ajax: upload file to c# handlerjquery ajax:将文件上传到 c# 处理程序
【发布时间】:2011-10-18 15:36:10
【问题描述】:

我想知道是否可以将文件发送到 c# 中的通用处理程序,并生成某种响应。例如:将 .txt 文件发布到处理程序。处理程序检查是否提交了文本文件,然后将其转换为 json 作为响应。希望你能明白。谢谢

【问题讨论】:

    标签: c# json upload handler


    【解决方案1】:

    你可以这样写你的处理程序:

    public class FileUploadHandler : IHttpHandler 
    {
        public void ProcessRequest (HttpContext context) 
        {
            HttpResponse response = context.Response;
    
            foreach (string file in context.Request.Files)  
            {  
               HttpPostedFile hpf = context.Request.Files[file] as HttpPostedFile;  
               if (hpf.ContentLength == 0)  
                  continue; 
               //DO SOMETHING WITH FILE.
            }
    
            //RETURN ANY RESPONSE USING response OBJECT
        }
    
        public bool IsReusable 
        {
            get
            {
                return false;
            }
        }
    }
    

    对于Request.Files 的东西阅读Scott Hanselman's this post

    【讨论】:

      【解决方案2】:

      您似乎在谈论创建web service。本教程可能是一个很好的起点:http://www.dotnetperls.com/ashx

      基本思想是,您将在 .ashx 文件中创建处理函数,通过 HTTP POST 请求将文件信息(文本文件)传递给它,然后将所需的任何 JSON 写入响应对象。

      【讨论】:

      • “通过 HTTP POST 请求传递你的文件信息(文本文件)”。所以我将文件上传到服务器-> 通过 HttpWebRequest 将数据从文件发送到处理程序-> 处理程序生成 json?
      • 是的,我认为我们在同一页上。将文件上传到服务器后(您的目标是 yourservice.ashx),您可以将文件作为 System.Web.HttpPostedFile 对象访问。它存储在 HttpWebRequest 对象的“文件”集合属性中。当您准备好编写响应时,将所需的 JSON 放入 Response.Write() 函数中。
      猜你喜欢
      • 2013-06-11
      • 1970-01-01
      • 2021-07-16
      • 2013-06-02
      • 2012-01-18
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多