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

Posted sistrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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控件上传文件大小限制问题

jsp 使用Common-FileUpload组件文件上传及限制上传类型

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

使用FileUpload控件上传,如何获取原文件名?

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

用FileUpLoad控件上传图片后,如何将读取出的图片路径存储下来?