asp.net使用H5新特性實(shí)現(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() { //這里可以一次性選中多個(gè)文件 var fileUpload = document.getElementById("FileToUpload").files; if (fileUpload.length == 0) { alert("請(qǐng)選中文件再上傳"); 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新特性實(shí)現(xiàn)異步上傳的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
.net中如何以純二進(jìn)制的形式在內(nèi)存中繪制一個(gè)對(duì)象
這篇文章主要介紹了如何以純二進(jìn)制的形式在內(nèi)存中繪制一個(gè)對(duì)象,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07Asp.Net MVC 分頁(yè)、檢索、排序整體實(shí)現(xiàn)代碼
很多時(shí)候需要這樣的功能,對(duì)表格進(jìn)行分頁(yè)、排序和檢索。本篇文章主要介紹了Asp.Net MVC 分頁(yè)、檢索、排序整體實(shí)現(xiàn),有興趣的可以了解一下。2017-01-01為密碼文本框要求不可粘帖字符串只可手動(dòng)輸入(附演示動(dòng)畫)
以前開(kāi)發(fā)程序時(shí),用戶登錄的密碼文本框,是可以粘帖密碼字符串的,為了安全起見(jiàn)用戶要求不要粘帖,只能由手動(dòng)輸入,感興趣的朋友可以了解下2013-01-01ASP.NET Core中間件初始化的實(shí)現(xiàn)
在日常使用ASP.NET Core開(kāi)發(fā)的過(guò)程中我們多多少少會(huì)設(shè)計(jì)到使用中間件的場(chǎng)景,本文探究了ASP.NET Core中間件是如何初始化的,感興趣的可以了解一下2021-05-05在ASP.NET?MVC下限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)的請(qǐng)求次數(shù)的解決方法
有時(shí)候,當(dāng)用戶請(qǐng)求一個(gè)Controller下的Action,我們希望,在單位時(shí)間間隔內(nèi),比如每秒,每分鐘,每小時(shí),每天,每星期,限制同一個(gè)IP地址對(duì)某個(gè)Action的請(qǐng)求次數(shù),如何做呢?這篇文章主要介紹了在ASP.NET?MVC下限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)的請(qǐng)求次數(shù),需要的朋友可以參考下2024-01-01asp.net實(shí)現(xiàn)在非MVC中使用Razor模板引擎的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)在非MVC中使用Razor模板引擎的方法,較為詳細(xì)的分析了Razor模板引擎的使用技巧,需要的朋友可以參考下2015-06-06