asp.net使用H5新特性實現(xiàn)異步上傳的示例
更新時間:2018年01月15日 15:24:36 作者:一艷傾華
下面小編就為大家分享一篇asp.net使用H5新特性實現(xiàn)異步上傳的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
###index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="Script/jquery-1.10.2.min.js"></script> <script src="Script/index.js"></script> <title></title> <script type="text/javascript"> $(function(){ $("#ajaxFileUpload").click(function () { formDataUpload(); }); }); </script> </head> <body> <input type="file" id="FileToUpload" multiple="multiple" mame="FileToUpload" /> <input type="button" id="ajaxFileUpload" value="上傳"/> <input type="text" size="10"/> </body> </html>
###index.js
function formDataUpload() { //這里可以一次性選中多個文件 var fileUpload = document.getElementById("FileToUpload").files; if (fileUpload.length == 0) { alert("請選中文件再上傳"); return; } //html5新特性 var formdata = new FormData(); //添加上傳數(shù)據(jù) for (var i = 0; i < fileUpload.length;i++){ formdata.append('files', fileUpload[i]); } //使用javascript的原生ajax var xmlHttp = new XMLHttpRequest(); xmlHttp.open("post", 'Handler.ashx?method=formDataUpload'); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { alert("上傳成功"); } } xmlHttp.send(formdata); }
###handler.ashx
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { formDataUpload(context); } public static void formDataUpload(HttpContext context) { //獲取到客戶端提交的文件 HttpFileCollection files = context.Request.Files; string msg = string.Empty; string error = string.Empty; int fileM = 0; if (files.Count > 0) { for (int i = 0; i < files.Count; i++) { ; String path = @"D:\"+files[i].FileName; files[i].SaveAs(path); fileM += files[i].ContentLength; } msg = "上傳成功,文件總大小:" + fileM; string res = "{error :'" + error + "',msg:'" + msg + "'}"; context.Response.Write(res); context.Response.End(); } } public bool IsReusable { get { return false; } } }
以上這篇asp.net使用H5新特性實現(xiàn)異步上傳的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
.net中如何以純二進制的形式在內(nèi)存中繪制一個對象
這篇文章主要介紹了如何以純二進制的形式在內(nèi)存中繪制一個對象,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Asp.Net MVC 分頁、檢索、排序整體實現(xiàn)代碼
很多時候需要這樣的功能,對表格進行分頁、排序和檢索。本篇文章主要介紹了Asp.Net MVC 分頁、檢索、排序整體實現(xiàn),有興趣的可以了解一下。2017-01-01在ASP.NET?MVC下限制同一個IP地址單位時間間隔內(nèi)的請求次數(shù)的解決方法
有時候,當用戶請求一個Controller下的Action,我們希望,在單位時間間隔內(nèi),比如每秒,每分鐘,每小時,每天,每星期,限制同一個IP地址對某個Action的請求次數(shù),如何做呢?這篇文章主要介紹了在ASP.NET?MVC下限制同一個IP地址單位時間間隔內(nèi)的請求次數(shù),需要的朋友可以參考下2024-01-01asp.net實現(xiàn)在非MVC中使用Razor模板引擎的方法
這篇文章主要介紹了asp.net實現(xiàn)在非MVC中使用Razor模板引擎的方法,較為詳細的分析了Razor模板引擎的使用技巧,需要的朋友可以參考下2015-06-06