
上传文件进行格式限制 --input file
发布日期:2021-05-15 00:08:28
浏览次数:12
分类:精选文章
本文共 1657 字,大约阅读时间需要 5 分钟。
文件上传格式验证方法
在文件上传功能中,为了确保用户上传的文件符合预期格式,常需要对文件类型进行验证。最直接的方法是通过文件扩展名来判断,但这种方式并非万能解决方案。在实际项目中,可能会根据需求对多个文件格式进行限制或允许。以下是常见的文件格式对应的MIME类型及验证方法示例。
常见文件格式对应的MIME类型
.xls
:对应application/vnd.ms-excel
.xlsx
:对应application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.doc
:对应application/msword
.pdf
:对应application/pdf
.png
:对应image/png
.jpg
:对应image/jpeg
.gif
:对应image/gif
.xml
:对应text/xml
或application/xml
在前端验证时,可以通过获取文件的扩展名并与允许的格式列表进行匹配来判断文件是否合规。以下是一个常见的验证逻辑示例:
const allowedExtensions = ['xls', 'xlsx'];const fileExtension = file.name.split('.')[1].toLowerCase();if (!allowedExtensions.includes(fileExtension)) { alert('请上传.XLS或.XLSX格式的文件-fixed-'); return false;}
文件类型验证的扩展
在实际项目中,文件上传格式的限制可能会根据业务需求有所不同。以下是一些常见的文件格式及其对应的MIME类型:
.ac3
:audio/ac3
.asf
:application/vnd.ms-asf
.au
:audio/basic
.css
:text/css
.csv
:text/csv
.docx
:application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dxf
:image/vnd.dxf
.eps
:image/vnd.eps
.gif
:image/gif
.ico
:image/x-icon
.jpe
:image/jp2
.jpeg
:image/jpeg
.jpg
:image/jpeg
.json
:application/json
.mov
:video/quicktime
.mp3
:audio/mpeg
.mp4
:video/mp4
.mpeg
:video/mpeg
.ogg
:audio/ogg
.pdf
:application/pdf
.png
:image/png
.pot
:application/vnd.ms-powerpoint
.pps
:application/vnd.ms-powerpoint
.ppt
:application/vnd.ms-powerpoint
.rtf
:application/rtf
.svf
:image/vnd.svf
.tif
:image/tiff
.tiff
:image/tiff
.txt
:text/plain
.wdb
:application/vnd.ms-works
.wps
:application/vnd.ms-works
.xhtml
:application/xhtml+xml
.xlsm
:application/vnd.ms-excel.sheet.macroEnabled.12
.xlt
:application/vnd.ms-excel
.xlw
:application/vnd.ms-excel
.xml
:text/xml
.zip
:application/zip
在开发过程中,可以根据具体需求灵活配置允许的文件格式列表,并在项目中添加相应的格式验证逻辑,以确保文件上传的安全性和规范性。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月18日 05时31分05秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
AD中拖动器件,无法移动在一起如何解决
2019-03-11
linux--练习001-基础类型
2019-03-11
Flask--简介
2019-03-11
Flask模板--过滤器与测试器
2019-03-11
16 python基础-恺撒密码
2019-03-11
06.1 python基础--结构控制
2019-03-11
Frame--Api框架
2019-03-11
Frame--WEB框架
2019-03-11
idea 在Debug 模式中运行语句中函数的方法
2019-03-11
springboot2.1.1开启druid数据库连接池并开启监控
2019-03-11
《朝花夕拾》金句摘抄(五)
2019-03-11
《朝花夕拾》金句摘抄(六)
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
新闻发布项目——业务逻辑层(UserService)
2019-03-11
hibernate正向生成数据库表以及配置——hibernate.cfg.xml
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
java实现人脸识别源码【含测试效果图】——Dao层(IUserDao)
2019-03-11