ASP.NET 在上传文件前判断文件大小的问题

问题描述

ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

解决方案

解决方案二:
JQuery验证文件大小,兼容性好。functionfindSize(field_id){varfileInput=$("#"+field_id)[0];byteSize=fileInput.files[0].fileSize;return(Math.ceil(byteSize/1024));//SizereturnedinKB.}

解决方案三:
引用楼主smilelake999的回复:

ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

纯JS不好解决这个问题,如果希望在客户端验证的话只能借助于控件来实现。
解决方案四:
引用楼主smilelake999的回复:

ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

只能用控件来做。我们公司现在做的一个项目也是有这个需求,我们项目组是用的Xproer.HttpUploader2这个控件来实现的。下面是实现的代码。服务器返回消息:<inputid="txtFilePath"type="text"size="50"/><divid="divUpload"></div><scripttype="text/javascript"language="javascript">varfileMgr=newHttpUploaderSingleMgr();fileMgr.Config["PostUrl"]="http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址fileMgr.LoadTo("divUpload");functiontestFileSize(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileSize("D:\VS2012.SP4.iso"));}functiontestFileLength(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileLength("D:\VS2012.SP4.iso"));}</script>

解决方案五:
引用楼主smilelake999的回复:

ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

要么借助flash判断(就是客户端判断)(一些flash上传组件)要么HTML5自带的属性可以判断!(兼容性不好)然后就没有别的好办法了
解决方案六:
不支持Html5的IE没法验证而我的做法就是在上传后一定时间内服务器没响应,我就直接抛出一个提示,说上传失败……当然,我是通过js生成form上传的……
解决方案七:
引用3楼d1g9z93w的回复:

Quote: 引用楼主smilelake999的回复:
ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

只能用控件来做。我们公司现在做的一个项目也是有这个需求,我们项目组是用的Xproer.HttpUploader2这个控件来实现的。下面是实现的代码。服务器返回消息:<inputid="txtFilePath"type="text"size="50"/><divid="divUpload"></div><scripttype="text/javascript"language="javascript">varfileMgr=newHttpUploaderSingleMgr();fileMgr.Config["PostUrl"]="http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址fileMgr.LoadTo("divUpload");functiontestFileSize(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileSize("D:\VS2012.SP4.iso"));}functiontestFileLength(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileLength("D:\VS2012.SP4.iso"));}</script>

你们这个是ActiveX?
解决方案八:
引用6楼smilelake999的回复:

Quote: 引用3楼d1g9z93w的回复:
Quote: 引用楼主smilelake999的回复:
ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

只能用控件来做。我们公司现在做的一个项目也是有这个需求,我们项目组是用的Xproer.HttpUploader2这个控件来实现的。下面是实现的代码。服务器返回消息:<inputid="txtFilePath"type="text"size="50"/><divid="divUpload"></div><scripttype="text/javascript"language="javascript">varfileMgr=newHttpUploaderSingleMgr();fileMgr.Config["PostUrl"]="http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址fileMgr.LoadTo("divUpload");functiontestFileSize(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileSize("D:\VS2012.SP4.iso"));}functiontestFileLength(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileLength("D:\VS2012.SP4.iso"));}</script>

你们这个是ActiveX?

嗯。是ActiveX和NPAPI,可以在ie,firefox,chrome44以及基于这些内核的浏览器中运行。基本上国内主流浏览器都支持了。上周项目就布署到客户那边开始跑了。
解决方案九:
引用1楼ajianchina的回复:

JQuery验证文件大小,兼容性好。functionfindSize(field_id){varfileInput=$("#"+field_id)[0];byteSize=fileInput.files[0].fileSize;return(Math.ceil(byteSize/1024));//SizereturnedinKB.}

这饼不是jq这是html5
解决方案十:
引用7楼d1g9z93w的回复:

Quote: 引用6楼smilelake999的回复:
Quote: 引用3楼d1g9z93w的回复:
Quote: 引用楼主smilelake999的回复:
ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

只能用控件来做。我们公司现在做的一个项目也是有这个需求,我们项目组是用的Xproer.HttpUploader2这个控件来实现的。下面是实现的代码。服务器返回消息:<inputid="txtFilePath"type="text"size="50"/><divid="divUpload"></div><scripttype="text/javascript"language="javascript">varfileMgr=newHttpUploaderSingleMgr();fileMgr.Config["PostUrl"]="http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址fileMgr.LoadTo("divUpload");functiontestFileSize(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileSize("D:\VS2012.SP4.iso"));}functiontestFileLength(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileLength("D:\VS2012.SP4.iso"));}</script>

你们这个是ActiveX?

嗯。是ActiveX和NPAPI,可以在ie,firefox,chrome44以及基于这些内核的浏览器中运行。基本上国内主流浏览器都支持了。上周项目就布署到客户那边开始跑了。

ActiveX需要客户端做配置吧?
解决方案十一:
引用9楼smilelake999的回复:

Quote: 引用7楼d1g9z93w的回复:
Quote: 引用6楼smilelake999的回复:
Quote: 引用3楼d1g9z93w的回复:
Quote: 引用楼主smilelake999的回复:
ASP.NET在上传文件前判断文件大小的问题大家好,VisualStudio的WebForm中我用了FileUpload控件来向数据库提交文件,我知道IIS默认限制4M;而我是通过程序控制到了3M以下。但每次判断都是文件上载之后,才能通过FileUpload1.PostedFile.ContentLength取到文件大小。如果用户上传了大于4M或更大的文件,IE会报错,体验不好;请问ASP.NET是否有办法在文件上载之前,判断文件大小呢?

只能用控件来做。我们公司现在做的一个项目也是有这个需求,我们项目组是用的Xproer.HttpUploader2这个控件来实现的。下面是实现的代码。服务器返回消息:<inputid="txtFilePath"type="text"size="50"/><divid="divUpload"></div><scripttype="text/javascript"language="javascript">varfileMgr=newHttpUploaderSingleMgr();fileMgr.Config["PostUrl"]="http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址fileMgr.LoadTo("divUpload");functiontestFileSize(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileSize("D:\VS2012.SP4.iso"));}functiontestFileLength(){varobj=newActiveXObject(fileMgr.ActiveX["Partition"]);alert(obj.FileLength("D:\VS2012.SP4.iso"));}</script>

你们这个是ActiveX?

嗯。是ActiveX和NPAPI,可以在ie,firefox,chrome44以及基于这些内核的浏览器中运行。基本上国内主流浏览器都支持了。上周项目就布署到客户那边开始跑了。

ActiveX需要客户端做配置吧?

不需要,全自动化的。访问含ActiveX的页面时,IE会提示用户安装一个控件。用户点击安装就行了。

时间: 2024-09-30 08:11:46

ASP.NET 在上传文件前判断文件大小的问题的相关文章

ASP跨服务器上传文件完美解决

服务器|解决|上传 如果你有两个空间,一个大而慢,另外一个小而快,或者其中一个不支持FSO,那么跨服务器上传文件这个问题就摆在你面前了,下面就是我在解决ylog.net里面的跨服务器上传文件的日记,这个问题看似简单,里面的细节问题却是非常有趣 前提条件,空间都必须支持ASP,上传文件的服务器支持FSO,下面的叙述中,diygame.com为存上传文件的服务器,ylog.net为网站服务器,即显示用户界面的服务器... 实现功能,文件上传,上传后在网页的文本区域自动加上对于图片的UBB码,为了清楚

asp.net 如何上传文件?

问题描述 asp.net如何上传文件?谢谢各位大虾! 解决方案 解决方案二:有上传控件的解决方案三:引用1楼cychris的回复: 有上传控件的 解决方案四:用上传控件stringpicture=this.fuploadPic.PostedFile.FileName;//获取客户端的路径名字picture=DateTime.Now.ToFileTime().ToString()+picture.Substring(picture.LastIndexOf("."));//我把文件名字重新

[ASP.NET] 限制上传文件类型的两种方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置属性简单高效地实现限制上传文件类型的功能. 在调用PostFile对象的SaveAs方法保存上传文件之前,可以通过PostFile对象的File

求助,asp.net web.上传文件代码异常

问题描述 如图,上传文件到指定目录后没法点击"考贝路径"按钮.代码如下:aspx:<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>上传文件</title><linkhref="StyleSheet.css"rel="stylesheet"type="tex

提供一个的Asp.net公共上传文件程序

问题描述 虽然在CSDN上提问没有解决过什么问题,仍然贡献一下最近写的一个小程序,希望对大家有用程序很小,目的是为了解决所有web应用图片和文件上传思路是这样的:任何一个web应用程序提交的都是一个表单,表单内有文件域.这里这个上传文件拦截到这个form提交的所有文件域,处理上传,并将文件域改名为同名的文本域,文本域的内容就是成功上传的URL,如果失败返回为空,然后redirect到目标的信息页.样就很容易实现img.xxxxxx.com的效果,也能购方便的将论坛博客的上传分离,所要做的就是将上

jspsmartupload上传文件不限制文件大小的方法

问题描述 想利用jspsmartupload上传文件,文件大小起码是几百M的,请问有什么方法呢?跪求各路大虾帮忙~ 解决方案 解决方案二:那就不要用smartupload了,这个传小文件可以,大文件不行.用commons-fileupload配合commons-io等解决方案三:或者来个ftp更好了呵呵解决方案四:commons-fileupload解决方案五:就算不限制上传文件的大小,但是http协议的能力有限,上传上兆的文件还是要三思啊goodluck解决方案六:肯定是在后台判断文件的大小了

ASP.NET在上传文件时对文件类型的高级判断的代码_实用技巧

复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using Syste

js判断上传文件类型判断FileUpload文件类型代码_javascript技巧

asp.net中html标签代码: 复制代码 代码如下: <asp:FileUpload ID="fuMain" runat="server" /> <asp:Button ID="btnUpload" runat="server" OnClientClick="return CheckWorkFile()" Text="上传" /> 普通的html标签: 复制代

asp.net实现上传文件显示本地绝对路径的实例代码_实用技巧

页面代码主要就是JSview plaincopy to clipboardprint 复制代码 代码如下: <head runat="server">     <title>无标题页</title>     <mce:script language="javascript" type="text/javascript"><!--      function Imagesrc()      {