js+ajax实现获取文件大小的方法
作者:仰天一笑 发布时间:2023-08-12 00:22:07
标签:js,ajax
本文实例讲述了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)
{
//如果有錯誤則返回錯誤信息(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程序设计有所帮助。


猜你喜欢
- 某个线程要共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能
- 直接看代码: 代码如下:Class GoogleTranslator sub Class_Initialize
- INSTR的第三个参数为1时,实现的是indexOf功能。 INSTR的第三个参数为-1时,实现的是lastIndexOf功能。 例如: I
- 所谓“评论”不是必须得有文本框,用户录入提交数据才算,广义上的评论包括用户的任何“表态”,典型如打分。我接触电子商务时间并不长,最早应该是0
- 最近要做一个图像生成的课题,在网上找了一个混合的数据集。这个数据集中一共有360个文件夹,然后文件夹中有6-9张不等的照片,我的目标就是编写
- 介绍Addit 是一个Python模块,除了提供标准的字典语法外,Addit 生成的字典的值既可以使用属性来获取,也可以使用属性进行设置。这
- 本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。线程是一个进程的实体,是由
- 不废话,直接上代码Python3.6签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充# -*- codi
- 什么是 PiniaPinia (西班牙语中的菠萝),本质上依然是一个状态管理的库,用于跨组件、页面进行状态共享.pinia 与 vuex 的
- 因为刚学vue然后自己自习了一下axios,然后想写一个简单的查询后台数据<tr v-for=" user in uList
- 1、例子:拟合一种函数Func,此处为一个指数函数。出处:SciPy v1.1.0 Reference Guide#Headerimport
- 看了oschina上的两个代码,受益匪浅。其中对join()方法不理解,看python官网文档的介绍:join([timeout]):等待直
- 前言electron-vue脚手架搭建的项目,在开发阶段可能你注意不到项目启动慢的问题,但是在build 生成的exe可执行文件,启动后,要
- 文章介绍内容:操作MySQL数据库:创建MySQL数据表;向表中插入记录;其他数据库操作。面试题:如何创建MySQL数据表?如何向MySQL
- 本文实例讲述了JavaScript观察者模式原理与用法。分享给大家供大家参考,具体如下:观察者模式观察者模式又叫发布订阅模式(Publish
- 机器A: select instance_name from v$instance; select name from v$database
- python读取和保存图片5种方法对比python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块方法一:利
- 如何用WSH获取机器的IP配置信息?我们用VBSCRIPT转换了: Option Explicit Dim&n
- 运行环境:win10 64位 py 3.6 pycharm 2018.1.1导入对应的包和数据import matplotlib.pyplo
- 一、安装对应包在Pycharm的Terminal终端中输入pip install virtualenv,创建一个引入新的虚拟环境的条件。二、