SpringMVC中文件的上传

第一步:导入相关的jar

依赖 commons-io
<dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.3</version>
    </dependency>

第二步:配置spring.xml文件

<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 默认编码 -->
    <property name="defaultEncoding" value="utf-8" />
    <!-- 文件大小最大值 -->
    <property name="maxUploadSize" value="10485760000" />
    <!-- 内存中的最大值 -->
    <property name="maxInMemorySize" value="40960" />
</bean>

第三步:写页面

<form action="${pageContext.request.contextPath}/emp/insertOne" method="post" enctype="multipart/form-data">
<input type="file" name="cover" />
<input type="submit" class="button" value="提交" />
</form>

第四步:写controller

@RequestMapping("/insertOne")
public String insertOne(MultipartFile cover, HttpServletRequest request, Emp emp){
    String path = request.getSession().getServletContext().getRealPath("/img");
    String fileName = cover.getOriginalFilename();//获取文件的原始名字
    //真正创建这个目录
    File dir = new File(path,fileName);
    //用当前这个文件对象      创建文件夹
    if(!dir.exists()){
        //生成这个文件夹
        dir.mkdir();
    }
    try {
        cover.transferTo(dir);
        empService.insertOne(emp);
        return "redirect:/dept/showAll";
    } catch (Exception e) {
        e.printStackTrace();
        return "jsp/addEmp";
    }
}

第五步:测试

文件上传的注意事项

1.配置文件上传解析器 并且id=multipartResolver
2.用MultiPartFile接受文件对象 形参和文本框中的name保持一致
	//拿到原始文件名
        String originalFilename = aa.getOriginalFilename();
        //拿到文件类型
        String contentType = aa.getContentType();
        //文件拷贝
        aa.transferTo(new File(realPath,originalFilename));
3.文件上传大小限制
<!--文件上传解析器  注意:id必须命名为multipartResolver-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
       <!--配置文件上传的最大值 默认只要加了文件解析器的springmvc对文件大小没有限制  20M-->
       <property name="maxUploadSize" value="20971520"></property>
    </bean>
4.文件上传前台的注意事项
	必须为post形式的请求 ,文本框类型为file,enctype=multipart/form-data
基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,并在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合人群:具备一定自动化、控制理论或机器学习背景的科研人员与工程技术人员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,并可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值