【Web后端】实现文件上传

  • 表单必须使用post提交 ,enctype 必须是multipart/form-data
  • 在Servlet上填加注解 @MultipartConfig
  • location :默认情况下将存储文件的目录,默认值为""。
  • maxFileSize :允许上传文件的最大大小,其值以字节为单位。 默认值为-1L表示无限制
  • maxRequestSize :multipart/form-data数据请求所允许的最大大小。 默认值为-1L,表示无限制。
  • 执行上传处理
java 复制代码
//获取当前工程真实路径
ServletContext context=this.getServletContext();
String realPath = context.getRealPath("/");
String path=realPath+"upload";
File dir=new File(path);
dir.mkdirs();//创建目录
//完成上传处理
Part part=request.getPart("pic");
//获取要上传文件的原始名
String fileName=part.getSubmittedFileName();
//截取出扩展名
String extName=fileName.substring(fileName.lastIndexOf("."));
//生成文件名前缀
String prefix= String.valueOf(System.currentTimeMillis());
fileName=prefix+extName;
File file=new File(dir,fileName);
//上传处理
part.write(file.getAbsolutePath());
info.setPic("/upload/"+fileName);
service.insert(info);
相关推荐
JAVA学习通4 小时前
北京明光云振铎数据科技Java面经
java·开发语言·科技
贫民窟的勇敢爷们10 小时前
SpringBoot整合AOP切面编程实战,实现日志统一记录+接口权限校验
java·spring boot·spring
AC赳赳老秦11 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
迈巴赫车主11 小时前
Java基础:list、set、map一遍过
java·开发语言
灵犀学长11 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
好家伙VCC13 小时前
【无标题】
java
小碗羊肉13 小时前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医13 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong14 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
hexu_blog14 小时前
vue+java实现图片批量压缩
java·前端·vue.js