首页 > 其他分享 >加深spring上传文件

加深spring上传文件

时间:2023-03-06 14:44:40浏览次数:42  
标签:String spring request upload 加深 file new 上传

上传文件的详解

创建控制层,上传文件:

@Controller
public class MyController {
    @PostMapping("/myUpload")
    public String upload(HttpServletRequest request) {
        String upload = request.getServletContext().getRealPath("/upload");
        File file = new File(upload);
        if (!file.exists()) file.mkdirs();
        try {
            Part uploadFile = request.getPart("file");
            String submittedFileName = uploadFile.getSubmittedFileName();
            uploadFile.write(upload+new Date().getTime()+submittedFileName);
        } catch (IOException e) {
            throw new RuntimeException(e);
        } catch (ServletException e) {
            throw new RuntimeException(e);
        }
        request.setAttribute("msg","上传成功");
        return "forward:/pages/success.jsp";
    }
}

编写上传成功的页面:

<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>success</h1>
${msg}
</form>
</body>
</html>

web层添加文件上传配置【添加在中央处理器加载的servlet】

<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springwebmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <max-file-size>20480</max-file-size>
        <!--文件大小阈值,当大于这个阈值时将写入到磁盘,否则在内存中。默认值为0-->
        <file-size-threshold>1048576</file-size-threshold>
    </multipart-config>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

上面的<multipart-config>相当于在mvc.xml里面配置了:

<!--文件上传解析器 id固定为multipartResolver-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

配置mvc:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <context:component-scan base-package="com.java.controller"/>
    <!--开启mvc注解驱动-->
    <mvc:annotation-driven/>
    <!--配置静态资源访问处理器-->
    <mvc:default-servlet-handler/>
    <!--视图解析器-->
    <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>-->
</beans>

标签:String,spring,request,upload,加深,file,new,上传
From: https://www.cnblogs.com/Liku-java/p/17183849.html

相关文章

  • selenium+Autolt上传图片(非input属性)
    原理说明:autoit它设计用于WindowsGUI(图形用户界面)中进行自动化操作的一个程序,使用前需要安装,一般网站中图片上传会涉及到点击上传图片按钮就会弹出一个Windows的框用于......
  • springboot集成nacos配置中心
    springboot版本2.6.7+nacos版本2.1.21、添加nacos依赖com.alibaba.bootnacos-config-spring-boot-starter0.2.122、配置application.propertiesnacos.config.boots......
  • 20_Spring_零XML事务控制
    ​ 创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importor......
  • 21_Spring_日志框架和测试支持
    ​ spring5框架自带了通用的日志封装,也可以整合自己的日志 1)spring移除了LOG4jConfigListener,官方建议使用log4j2 2)spring5整合log4j2导入log4j2依赖<!--l......
  • 21_Spring_日志框架和测试支持
    ​ spring5框架自带了通用的日志封装,也可以整合自己的日志 1)spring移除了LOG4jConfigListener,官方建议使用log4j2 2)spring5整合log4j2导入log4j2依赖<!--l......
  • Spring Boot&Vue3 前后端分离 实战 wiki 知识库系统<一>--Vue CLI 项目搭建目搭建
    接着上一次​​SpringBoot&Vue3前后端分离实战wiki知识库系统<二>---后端架构完善与接口开发​​的继续往下,这次则开始涉及到前端Vue框架的学习了,为之后的后台界面搭建......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
    ​ 创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importor......
  • Spring Boot + Vue3 前后端分离 实战 wiki 知识库系统<一>--Vue3 + Vue CLI 项Vue3 +
    接着上一次https://www.cnblogs.com/webor2006/p/17139526.html的继续往下,这次则开始涉及到前端Vue框架的学习了,为之后的后台界面搭建打好地基。了解Vue和VueCLI及其关系......