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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
深入浅出讲解ES6的解构
Aug 03 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
d3.js实现图形拖拽
Dec 19 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP入门
2006/10/09 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python 多线程串行和并行的实例
2019/02/22 Python
详解Django 时间与时区设置问题
2019/07/23 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
详解python polyscope库的安装和例程
2020/11/13 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
pandas 数据类型转换的实现
2020/12/29 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
介绍下java.util.Arrays类
2012/10/16 面试题
考试没考好检讨书(精选篇)
2014/11/16 职场文书
公司周年庆寄语
2019/06/21 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Go语言基础map用法及示例详解
2021/11/17 Golang
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技