Javascript 使用ajax与C#获取文件大小实例详解


Posted in Javascript onJanuary 13, 2017

Javascript 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();
 }
}

js ajax获取文件大小,实例代码!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
加速IE的Javascript document输出的方法
Dec 02 Javascript
在Node.js中使用Javascript Generators详解
May 05 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
javascript中关于类型判断的一些疑惑小结
Oct 14 Javascript
vue项目刷新当前页面的三种方法
Dec 04 Javascript
小程序转发探索示例
Feb 19 Javascript
vue实现带复选框的树形菜单
May 27 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
jQuery treeview树形结构应用
Mar 24 jQuery
详解angularJs中自定义directive的数据交互
Jan 13 #Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 #Javascript
很棒的一组js图片轮播特效
Jan 12 #Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 #Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 #Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
Jan 12 #Javascript
js实现微博发布小功能
Jan 12 #Javascript
You might like
长波知识介绍
2021/03/01 无线电
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
jquery选择器使用详解
2014/04/08 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python tornado修改log输出方式
2019/11/18 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
大家访活动实施方案
2014/03/10 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL