Javascript 使用ajax与C#获取文件大小实例详解
Javascriptajax实现获取文件大小的方法。
顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/的错误,也将解决方案罗列在下面,以供大家参考
废话少说,代码如下
JS如下:
<scriptlanguage="Jscript"> functionchksize(){ varticketType="Oil"; varfile1=document.getElementById("txtfile"); varv=file1.value; file1.select(); varrealpath=document.selection.createRange().text; varinput="<Record><Type>TicketLoanResult</Type><TicketType>"+realpath+"</TicketType></Record>"; varobjXmlHttp=newActiveXObject("Microsoft.XMLHTTP"); objXmlHttp.Open("POST","XMLHttpPost.aspx",false); objXmlHttp.Send(input); varreturnXml=objXmlHttp.responseText; if(returnXml!=null) { returnXml=parseInt(returnXml/1024/1024); } alert(returnXml); returnfalse; } </script>
后台C#代码:
publicpartialclassXMLHttpPost:System.Web.UI.Page { protectedvoidPage_Load(objectsender,EventArgse) { try { XmlDocumentxmlDocumenet=newXmlDocument(); xmlDocumenet.Load(Request.InputStream); stringtype=xmlDocumenet.SelectSingleNode("descendant::Type").InnerText; stringreturnMessage=string.Empty; switch(type.Trim()) { case"TicketLoanResult": returnMessage=GetTicketLoanResult(xmlDocumenet); break; default: break; } Response.ContentType="text/xml"; Response.Write(returnMessage); } catch(Exceptionexceptional) { //如果有錯誤則返回錯誤信息(Xml格式) stringerrorMessage="<Error>"+exceptional.Message+"</Error>"; Response.ContentType="text/xml"; Response.Write(errorMessage); } finally { Response.End(); } } privatestringGetTicketLoanResult(XmlDocumentinput) { XmlNodeitem=input.SelectSingleNode("descendant::TicketType"); stringticketType=item.InnerText.Trim(); FileStreamstream=newFileStream(ticketType,FileMode.Open); returnstream.Length.ToString(); } }
jsajax获取文件大小,实例代码!
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!