ASP.NET中怎么限制上传文件类型

本篇文章为大家展示了ASP.NET中怎么限制上传文件类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

公司主营业务:成都网站建设、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出天门免费做网站回馈大家。

在调用PostFile对象的SaveAs方法保存上传文件之前,可以通过PostFile对象的FileName属性得到上传的文件名。而有了上传的文件名,就可以采用比对文件后缀名的方法知道上传的文件是否属于允许上传的文件类型。

根据这个思想,我们就得到了下面这段代码:

If Path.GetExtension(sFilePath) <> ".zip" Then   Label2.Text = "本应用程序只允许上传zip格式的文件,请重新选择!"  Return

这时如果上传后缀名不是zip的文件,就会发现文件无法上传了。不过,这并表示我们就不能把上传其他格式的文件了。其实,如果在上传前,事先把文件后缀名改成zip,上面这段代码就失去作用了。

之所以会出现这种情况,在于上面的判断仅仅比对了文件名字符串,并没有对文件格式做进一步的分析。因此,如果要彻底达到ASP.NET限制上传文件类型,还需要用到PostFile对象的ContentType属性。ContentType属性的功能是获取客户端发送的文件的 MIME (注一)内容类型,由于浏览器在向服务器发送请求前,首先会确定发送内容的MIME类型,并将MIME类型作为信息的一部分提交到服务器端,因此,有了MIME类型信息(注二),就可以准确知道上传文件的实际类型了。

If File1.PostedFile.ContentType <> "application/zip" Then

Label2.Text = "本应用程序只允许上传zip格式的文件,请重新选择!"

这时,如果再采用修改后缀名的方法上传文件就会发现再也无法上传了。

注一:MIME是一种技术规范,其中文翻译为多用途Internet邮件扩展(Multipurpose Internet Mail Extensions),主要用来在Internet传输过程中表示不同编码格式的文件;

注二:要获取不同文件格式的MIME定义,只要启动注册表编辑器,然后在HKEY_CLASSES_ROOT下找到跟后缀名对应的注册表项,如果存在文件格式的MIME定义,在右侧窗口就会显示一个名为“Content Type”的键,而这个键的值就是文件格式的MIME定义。

上述内容就是ASP.NET中怎么限制上传文件类型,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前标题:ASP.NET中怎么限制上传文件类型
文章来源:http://ybzwz.com/article/gdgspe.html