网站数据库要多大,福田做网站需要多少钱,建设用地规划许可证去哪个网站查,做系统的网站前言
用户访问当前系统,将自己本地计算机中文件通过浏览器上传到当前系统所在的服务器过程中称之为文件的上传
具体思路
1.文件上传 文件上传: 用户将本地计算机中文件上传到服务器过程称之为文件上传 2.文件上传开发思路:
a.提供一张上传页面 提交方式必须:post enctype属…前言
用户访问当前系统,将自己本地计算机中文件通过浏览器上传到当前系统所在的服务器过程中称之为文件的上传
具体思路
1.文件上传 文件上传: 用户将本地计算机中文件上传到服务器过程称之为文件上传 2.文件上传开发思路:
a.提供一张上传页面 提交方式必须:post enctype属性必须为 multipart/form-datab.开发上传controller
第一种文件上传方式
整体做法
准备上传页面 form action${pageContext.request.contextPath}/file/upload methodpost enctypemultipart/form-datainput typefile namefileinput typesubmit value上传文件
/form
!--1. 表单提交方式必须是post2. 表单的enctype属性必须为multipart/form-data3. 后台接受变量名字要与文件选择name属性一致
--当用户选择一个文件并点击“上传文件”按钮时会向 /file/upload 接口发送一个 POST 请求并携带上传的文件。
编写控制器 RequestMapping(upload)public String upload(MultipartFile file, HttpServletRequest request) throws IOException {//定义:接收文件对象 multipartFile file变量名要与form中input typefile标签name属性名一致//文件名String originalFilename file.getOriginalFilename(); //得到文件名字log.debug(文件名: {}, originalFilename);log.debug(文件大小: {}, file.getSize());log.debug(文件类型: {}, file.getContentType());//1.根据相对 上传 upload 获取绝对路径(真实路径) /users/桌面.... 服务器: /home/springboot_day4..String realPath request.getSession().getServletContext().getRealPath(/upload);log.debug(获取绝对路径: {}, realPath);//2.上传文件 参数1: 将文件写入到那个目录 aa.txt .md xxx.xxx.xxx.md//修改文件名String ext originalFilename.substring(originalFilename.lastIndexOf(.));String newFileName new SimpleDateFormat(yyyyMMddHHmmssSSS).format(new Date()) ext;file.transferTo(new File(realPath, newFileName));return redirect:/upload.jsp;}接收前端上传的文件并获取文件的相关信息。 生成新的文件名并保存文件到服务器上指定的目录下。 上传成功后重定向到 /upload.jsp 页面
修改文件上传大小 servlet:multipart: #修改文件上传的大小限制max-request-size: 120MB #运行请求传递文件大小最大为10Mmax-file-size: 120MB #运行服务器可以处理的最大文件大小第二种文件上传
因为springboot推荐使用jar包的项目部署我们第二种方式无论是jar包和war部署都能够找到文件上传的目录
准备上传页面
form action${pageContext.request.contextPath}/file/upload methodpost enctypemultipart/form-datainput typefile namefileinput typesubmit value上传文件
/form
!--1. 表单提交方式必须是post2. 表单的enctype属性必须为multipart/form-data3. 后台接受变量名字要与文件选择name属性一致
--编写控制器 Value(${file.upload.dir})private String realPath;/*** 第二种文件上传* 注意: 这种方式适用于任何一种部署方式 推荐使用这种方式* param file* return* throws IOException*/RequestMapping(uploadByJarDeploy)public String uploadByJarDeploy(MultipartFile file) throws IOException {//文件名String originalFilename file.getOriginalFilename();log.debug(文件名: {}, originalFilename);log.debug(文件大小: {}, file.getSize());log.debug(文件类型: {}, file.getContentType());//改名String ext originalFilename.substring(originalFilename.lastIndexOf(.));String newFileName new SimpleDateFormat(yyyyMMddHHmmssSSS).format(new Date()) ext;//上传文件到哪file.transferTo(new File(realPath,newFileName));return redirect:/upload.jsp;}指定文件上传路径
#指定文件上传的位置
file:upload:dir: D:\Study\java\practical-projects\spring-boot\springbootAopTest\src\main\webapp\upload //这里就是你自己服务器的具体目录总结
为什么我要介绍两种上传思路就是因为在我们springboot中推荐使用jar包War包文件代表了一个Web应用程序把WAR文件作为部署单元来使用主要是自带本地的Tomcat,但springboot内部集成了tomcat如果用第一种方式当项目打包到服务器的时候目录结构就会发生变化使用了第二种方式之后我们就根据自己的需求配置文件上传的目录。