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获取文件大小,实例代码!
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!