• asp.net 中使用JQuery Ajax 上传文件


    首先创建一个网页,网页中添加如下代码。

      <h3>Upload File using Jquery AJAX in Asp.net</h3>  
        <table>  
            <tr>  
            <td>File:</td>  
            <td>  
                <asp:FileUpload ID="fupload" runat="server"  onchange='prvimg.UpdatePreview(this)' /></td>  
            <td><asp:Image ID="imgprv" runat="server" Height="90px" Width="75px"  /></td>  
            </tr>  
            <tr>  
            <td></td>  
            <td><asp:Button ID="btnUpload" runat="server" cssClass="button" Text="Upload Selected File" /></td>  
            </tr>  
        </table>  
    

    接着在添加jquery代码

    $("#btnUpload").click(function (evt) {  
                var fileUpload = $("#fupload").get(0);  
                var files = fileUpload.files;  
      
                var data = new FormData();  
                for (var i = 0; i < files.length; i++) {  
                    data.append(files[i].name, files[i]);  
                }  
      
                $.ajax({  
                    url: "FileUploadHandler.ashx",  
                    type: "POST",  
                    data: data,  
                    contentType: false,  
                    processData: false,  
                    success: function (result) { alert(result); },  
                    error: function (err) {  
                        alert(err.statusText)  
                    }  
                });  
      
                evt.preventDefault();  
            });  

    FileUploadHandler.ashx中的代码

    <%@ WebHandler Language="C#" Class="FileUploadHandler" %>    
         
    using System;    
    using System.Web;    
         
    public class FileUploadHandler : IHttpHandler  
    {    
         
        public void ProcessRequest (HttpContext context)  
        {    
            if (context.Request.Files.Count > 0)    
            {    
                HttpFileCollection files = context.Request.Files;    
                for (int i = 0; i < files.Count; i++)    
                {    
                    HttpPostedFile file = files[i];    
                    string fname = context.Server.MapPath("~/uploads/" + file.FileName);    
                    file.SaveAs(fname);    
                }    
                context.Response.ContentType = "text/plain";    
                context.Response.Write("File Uploaded Successfully!");    
            }    
         
        }    
         
        public bool IsReusable  
        {    
            get   
            {    
                return false;    
            }    
        }    
         
    }   

    最后效果如下:

  • 相关阅读:
    面向对象和面向过程
    视图代理(转帖)
    qt中的多线程(转)
    QT GUI总结
    Qt探秘——谈ui文件的用法
    Qt的Model/View Framework解析
    编程入门指南 v1.4
    设计模式总结(经典)
    地址
    QLayout的属性介绍
  • 原文地址:https://www.cnblogs.com/Hackerman/p/4235045.html
Copyright © 2020-2023  润新知