JSP使用Common FileUpload组件实现文件上传及限制上传类型实例代码
发布时间 - 2026-01-11 03:05:13 点击率:次1、将commons-fileupload-1.3.3.jar复制到Web应用的lib文件夹下,在WebRoot目录下创建limit.jsp页面,在该页面中添加一个文件域的表单,设置类型为 multipart/form-data。代码如下:
<body>
<h2>上传图书课件</h2>
<form action="LimitFile" name="one" enctype="multipart/form-data" method="post">
选择一个rar文件:
<input type="file" name="fileupload" value="upload" />
<input type="submit" value="上传"> <input type="reset" value="取消">
</form>
</body>
上述代码指定提交后将请求提交给LimitFile处理,LimitFile(Servlet)用来处理上传文件及判断文件类型是否匹配,显示上传结果。
2、创建名为LimitFile的Servlet,并在doPost()方法中编写实现代码,如下所示:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String uploadpath = "";
DiskFileItemFactory factory = new DiskFileItemFactory();
//设置是否使用临时文件保存解析出来的数据的那个临界值,该方法传入参数的单位是字节。
factory.setSizeThreshold(30 * 1024);
//用于设置setSizeThreshold()方法中提到的临时文件的存放目录,这里要求使用绝对路径。
factory.setRepository(factory.getRepository());
ServletFileUpload upload = new ServletFileUpload(factory);
List list = null;
try{
list = upload.parseRequest(request);
String[] limit = new String[]{".jpg", ".gif", ".png", ".bmp"};
//定义限制的文件类型
SuffixFileFilter filter = new SuffixFileFilter(limit);
//获取SuffixFileFilter实例
Iterator iterator = list.iterator();
while(iterator.hasNext()){
FileItem item =(FileItem)iterator.next();
if(!item.isFormField()){
String filePath = item.getName();
if(filePath != null){
File filename= new File(filePath);
File uploadFile = new File(request.getSession().getServletContext().getRealPath("/") + "upload");
uploadpath = uploadFile.getAbsolutePath()+File.pathSeparator + uploadpath;
//因为路径后面多了个";"号,所以要去掉
uploadpath = uploadpath.substring(0, uploadpath.length()-1);
File saveFile = new File(uploadpath,filename.getName());
boolean flag = filter.accept(saveFile);
if(flag){
out.print("禁止上传传图片文件");
break;
}else{
try {
item.write(saveFile);
out.print("文件上传成功");
} catch (Exception e) {
out.print("文件上传失败了");
e.printStackTrace();
}
}
}
}
}
}catch(FileUploadException e){
e.printStackTrace();
}
}
上述代码在字节串数组limit中定义了不允许上传的文件类型,然后将该数组传递给SuffixFileFilter类的构造函数。在通过该类的accept()方法验证当前上传的文件是否符合条件。最后将文件保存到项目的upload目录下。
总结
以上所述是小编给大家介绍的JSP使用Common FileUpload组件实现文件上传及限制上传类型实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
# jsp
# Common
# FileUpload
# 文件上传
# javascript实现限制上传文件大小
# 客户端js判断文件类型和文件大小即限制上传大小
# javascript验证上传文件的类型限制必须为某些格式
# JavaScript 上传文件限制参数案例详解
# 上传
# 后将
# 小编
# 临时文件
# 临界值
# 目录下
# 并在
# 要去
# 给大家
# 所示
# 表单
# 所述
# 将该
# 给我留言
# 是否符合
# 上传文件
# 有任何
# 失败了
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在阿里云ECS服务器部署织梦CMS网站?
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
重庆市网站制作公司,重庆招聘网站哪个好?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Python函数文档自动校验_规范解析【教程】
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
EditPlus 正则表达式 实战(3)
详解Huffman编码算法之Java实现
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
详解Android图表 MPAndroidChart折线图
Laravel怎么连接多个数据库_Laravel多数据库连接配置
详解vue.js组件化开发实践
网站页面设计需要考虑到这些问题
怎么用AI帮你为初创公司进行市场定位分析?
如何在IIS中新建站点并配置端口与物理路径?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
如何用花生壳三步快速搭建专属网站?
Laravel如何自定义错误页面(404, 500)?(代码示例)
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在景安服务器上快速搭建个人网站?
Python并发异常传播_错误处理解析【教程】
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
如何在万网ECS上快速搭建专属网站?
如何获取PHP WAP自助建站系统源码?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在腾讯云服务器快速搭建个人网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel怎么为数据库表字段添加索引以优化查询
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
如何解决hover在ie6中的兼容性问题
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
北京企业网站设计制作公司,北京铁路集团官方网站?
网站制作软件有哪些,制图软件有哪些?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
JavaScript如何实现倒计时_时间函数如何精确控制
JavaScript中的标签模板是什么_它如何扩展字符串功能
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Android okhttputils现在进度显示实例代码
微信小程序 wx.uploadFile无法上传解决办法
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
如何快速搭建高效服务器建站系统?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
怎么用AI帮你设计一套个性化的手机App图标?

