关于FileUpload控件上传文件大小限制问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于FileUpload控件上传文件大小限制问题相关的知识,希望对你有一定的参考价值。

参考技术A

默认上传文件大小4096KB,如果要上传超过此大小的文件,会出现错误界面。可以对web.config文件做一下配置,就可以解决,解决方法如下:

1、首先创建一个名称为  file_value  的html文件。

2、添加一个input元素 设置input类型为file设置id为my_file_id_value。

3、添加一个button按钮,在点击事件中加入自定义函数my_file_value,添加一p标签,设置id 为 show_file_value。

4、在javascript中创建一个自定义函数   my_file_value。

5、在自定义函数中获取input file对象。用value属性获取fileupload对象上传的文件完全路径,将获取的结果添加到p标签中显示。

6、最后在浏览器中打开文件,点击button查看上传的文件的路径效果。

FileUpload控件文件上传扩容限制文件类型及上传验证

1、将选中文件上传到目标位置:

    <span style="white-space:pre">    </span>//获取上传文件的文件名称  
            string name = FileUpload1.FileName;  
            //将文件名称拼接成为想要的相对路径  
            string path = "images/" + DateTime.Now.ToString("yyyyMMddhhmmss") + name;  
            //执行另存为方法,但是这里需要绝对路径,那么使用路径映射  
            FileUpload1.SaveAs(Server.MapPath(path));  

2、上传文件默认大小限制为4MB,可以扩容,方式为:

    <span style="white-space:pre">    </span>//在Web.config配置文件中的system.web标记中增加以下代码,最大长度默认为4096,单位为KB,下面为扩容10倍  

     <span style="white-space:pre">   </span><system.web>  
     <span style="white-space:pre">   </span>  <httpRuntime maxRequestLength="40960"/>  
    <span style="white-space:pre">    </span></system.web>  

3、限制浏览文件的类型:

    <span style="white-space:pre">    </span><!--限制浏览文件的类型,添加accept属性-->  
            <asp:FileUpload ID="FileUpload1" runat="server" accept=".png,.jpg,.jpeg" />  

4、上传验证:

分为两种方式,服务端验证会刷新页面,客户端使用js验证则不会刷新页面,推荐使用js验证。

服务端:

    <span style="white-space:pre">    </span>//使用以下方式可以获取上传文件的长度,单位为B  
            if (FileUpload1.PostedFile.ContentLength > (4 * 1024 * 1024))  
            {  
                Label1.Text = "文件超过4M!";  
                return;  
            }  

客户端:

    <script type="text/javascript">  
            window.onload = function () {  
                //上传按钮点击事件  
                document.getElementById(btn1).onclick = function () {  
                    //取到file元素  
                    var fl1 = document.getElementById(file1);  
                    //判断是否有选中文件  
                    if (fl1.value.length <= 0)  
                    {  
                        alert(请选择要上传的文件!);  
                        return false;  
                    }  
                    //获取文件长度并进行判断  
                    if (fl1.files[0].size > (4 * 1024 * 1024)) {  
                        alert(文件超过4M!);  
                        return false;  
                    }  
    <span style="white-space:pre">        </span>//验证结尾扩展名是否正确  
                    if (fl1.value.substr(fl1.value.length-4)!=.jpg || fl1.value.substr(fl1.value.length-5)!=.jpeg || fl1.value.substr(fl1.value.length-4)!=.png)  
                    {  
                        alert(选择的不是图片文件!);  
                        return false;  
                    }  
                };  
            };  
        </script>  

 

以上是关于关于FileUpload控件上传文件大小限制问题的主要内容,如果未能解决你的问题,请参考以下文章

FileUpload控件文件上传扩容限制文件类型及上传验证

如何在 FileUpload 控件中限制文件类型

用fileupload控件上传文件怎样使上传的文件显示在指定的位置

如何限制用户通过 jquery 在 Telerik 上传中上传零大小的文件?

使用apache的fileupload组件上传文件怎么解决编码问题?

js ajaxfileupload.js IE8 上传文件 拒绝访问