检测上传文件大小的几种方式

1. FileUpload1.PostedFile.ContentLength
这个是我经常用的一种方式,不过上传大文件就会发现他是上传之后才检测文件大小的。用户体验不是太好
前台:

 代码如下 复制代码
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="上传" />
后台:
if (FileUpload1.PostedFile.ContentLength > 10485760)
{
MessageBox.Show("上传文件请不要超过10M");
return;
}
string filepath = FileUpload1.FileName;//本地路径
。。。
FileUpload1.SaveAs(sSavePath);

2. HttpPostedFile
这个测试发现其实也是上传之后才进行判断的,跟上一个的性能差不多。
前台:

 代码如下 复制代码
<input type="file" runat="server" id="FileUpload1" />
<asp:Button ID="btnUpload" runat="server" Text="上传" onClick="btnUpload_Click" />

后台:

 代码如下 复制代码
HttpPostedFile f = Request.Files[0];
if (f.ContentLength > 10485760)
{
MessageBox.Show("上传文件请不要超过10M");
return;
}
string filepath1 = FileUpload1.Value;//本地路径D:/..
f.SaveAs(sSavePath);

3.fso
客户端检测文件大小 ,这个倒是在客户端检测的,但是会弹出安全提示。

 代码如下 复制代码
<html>
<head>
<script>
function getFileSize(fileName) {
if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function (err) {
if (err.indexOf('utomation') != -1) {
alert('没有访问文件的权限');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return parseInt(file.Size / 1024) + 'K';
}
}
</script>
</head>
<body>
<form name="formName">
<input type="file" name="fileName" onchange="alert(getFileSize(this.form.fileName.value))"><br>
</form>
</body>
</html>

4.jquery uploadify
这是一个开源的多文件上传组件,测试了一下,可以实现多文件上传,而且效果还不错。官方地址http://www.uploadify.com/download/

时间: 2024-09-20 01:06:23

检测上传文件大小的几种方式的相关文章

简述Java异步上传文件的三种方式_java

本文为大家分享了三种Java异步上传文件方式,供大家参考,具体内容如下 用第三方控件,如Flash,ActiveX等浏览器插件上传. 使用隐藏的iframe模拟异步上传. 使用XMLHttpRequest2来实现异步上传. 第一种使用浏览器插件上传,需要一定的底层编码功底,在这里我就不讲了,以免误人子弟,提出这点大家可以自行百度. 第二种使用隐藏的iframe模拟异步上传.为什么在这里说的是模拟呢?因为我们其实是将返回结果放在了一个隐藏的iframe中,所以才没有使当前页面跳转,感觉就像是异步操

详解Ajax和form+iframe 实现文件上传的方法(两种方式)_AJAX相关

自从有html5之后,文件上传变的非常简单.很方便的解决了项目中需要用到的文件上传功能.HTML5支持多图片上传,而且支持ajax上传,而且支持上传之前图片的预览,而且支持图片拖拽上传,而且还是纯粹利用file控件实现,JS代码寥寥,想不让人称赞都难啊! HTML5Ajax上传 html5的上传实现,是需要file控件以及XMLHttpRequest请求.下面是我封装的一个上传插件: function fileUpload(options) { var opts = options || {};

修改PHP上传文件大小限制的方法

php.ini中进入修改 file_uploads = on ;是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值.默认为2M post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值.默认为8M 利用.htaccess文件 htaccess里写入 p

Java中实现文件上传下载的三种解决方案(推荐)_java

java文件上传与文件下载是程序开发中比较常见的功能,下面通过本文给大家介绍Java中实现文件上传下载的三种解决方案,具体详情如下所示: 第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null; String fileAddre="/numUp"; try { InputStream stream = file.getInputStream(

ASP.NET上传文件的三种基本方法

 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: [html] view plaincopy <form id="form1" runat="server">   <asp:FileUpload ID="FileUpload1" runat="server&q

给事件响应函数传参数的四种方式小结

     这篇文章主要介绍了给事件响应函数传参数的四种方式.需要的朋友可以过来参考下,希望对大家有所帮助      如何给事件handler传参数?在刚刚接触Javascript的时候,由于对闭包理解不深刻,常常纠结于该问题.   在讨论群里也经常碰到这样的问题,如下   代码如下: <!DOCTYPE HTML> <html> <head>     <meta charset="utf-8">     <title>如何给事

js获取上传文件大小示例代码

 js获取上传文件大小在ie下要改安全设置中的对为标记为可安全执行脚本的ActiveX空间初始化并执行,需要的朋友可以参考下 代码如下:  在ie下,貌似要改安全设置中的[对为标记为可安全执行脚本的ActiveX空间初始化并执行]那项     代码如下: <html>  <head>  <script type="text/javascript">  var isIE = /msie/i.test(navigator.userAgent) &

应用程序-ASP.NET2.0 IIS6 上传文件大小限制

问题描述 ASP.NET2.0 IIS6 上传文件大小限制 已经设置了应用程序下的Web.config中的maxRequestLength大小和metaBase.xml中ASP...Allow的大小了,完全无动于衷! 解决方案 修改web.config中httpRuntime增加maxRequestLength配置就行了(单位kb),metabase.xml是asp的..确认你没改错.. 解决方案二: 解决方案三: 如果设置httpruntime maxRequestLength 还需要在设置你

限制上传文件大小和格式的jQuery插件实例_jquery

本文实例讲述了限制上传文件大小和格式的jQuery插件.分享给大家供大家参考.具体分析如下: 在客户端上传文件,通常需要限制文件的尺寸和格式,最常用的做法是使用某款插件,一些成熟的插件的确界面好看,且功能强大,但美中不足的是:有时候会碰到浏览器兼容问题.本篇就来写一个"原生态"的jQuery插件,使之能限制上传文件的大小和格式. 首先,写一个名称为checkFileTypeAndSize.js的插件.通过判断当前文件的后缀名是否被包含在预先设置所允许的后缀名数组中,来限制文件格式:通过