js+ajax实现获取文件大小的方法


Posted in Javascript onDecember 08, 2015

本文实例讲述了js+ajax实现获取文件大小的方法。分享给大家供大家参考,具体如下:

顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考

废话少说,代码如下

JS如下:

<script language="Jscript">
function chksize(){
  var ticketType = "Oil";
  var file1=document.getElementById("txtfile");
  var v = file1.value;
  file1.select();
  var realpath = document.selection.createRange().text;
  var input = "<Record><Type>TicketLoanResult</Type><TicketType>" + realpath + "</TicketType></Record>";
  var objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  objXmlHttp.Open("POST", "XMLHttpPost.aspx", false);
  objXmlHttp.Send(input);
  var returnXml = objXmlHttp.responseText;
  if(returnXml!=null)
  {
   returnXml=parseInt(returnXml/1024/1024);
  }
  alert(returnXml); 
  return false; 
}
</script>

后台C#代码:

public partial class XMLHttpPost : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
  try
  {
   XmlDocument xmlDocumenet = new XmlDocument();
   xmlDocumenet.Load(Request.InputStream);
   string type = xmlDocumenet.SelectSingleNode("descendant::Type").InnerText;
   string returnMessage = string.Empty;
   switch (type.Trim())
   {
    case "TicketLoanResult":
     returnMessage = GetTicketLoanResult(xmlDocumenet);
     break;
    default:
     break;
   }
   Response.ContentType = "text/xml";
   Response.Write(returnMessage);
  }
  catch (Exception exceptional)
  {
   //如果有???t返回??信息(Xml格式)
   string errorMessage = "<Error>" + exceptional.Message + "</Error>";
   Response.ContentType = "text/xml";
   Response.Write(errorMessage);
  }
  finally
  {
   Response.End();
  }
 }
 private string GetTicketLoanResult(XmlDocument input)
 {
  XmlNode item = input.SelectSingleNode("descendant::TicketType");
  string ticketType = item.InnerText.Trim();
  FileStream stream = new FileStream(ticketType,FileMode.Open);
  return stream.Length.ToString();
 }
}

完整实例代码点击此处本站下载。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery 定位input元素的几种方法小结
Jul 28 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
jquery实现表单验证简单实例演示
Nov 23 Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
May 10 Javascript
js时间戳格式化成日期格式的多种方法介绍
Feb 16 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
angular4实现带搜索的下拉框
Mar 25 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 #Javascript
详解js中构造流程图的核心技术JsPlumb(2)
Dec 08 #Javascript
详解js中构造流程图的核心技术JsPlumb
Dec 08 #Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 #Javascript
jQuery实现的简单提示信息插件
Dec 08 #Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
Dec 08 #Javascript
AngularJS实现全选反选功能
Dec 08 #Javascript
You might like
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
phpinfo的知识点总结
2019/10/10 PHP
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
php register_shutdown_function函数详解
2017/07/23 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Django返回json数据用法示例
2016/09/18 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python3 深浅copy对比详解
2019/08/12 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Python魔术方法专题
2020/06/19 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
软件测试工程师笔试题带答案
2015/03/27 面试题
竞选班长演讲稿
2013/12/30 职场文书
《长征》教学反思
2014/04/27 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
签订劳动合同通知书
2015/04/16 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
Python预测分词的实现
2021/06/18 Python