求SpringMVC大文件上传详解及实例代码

求SpringMVC大文件上传详解及实例代码,第1张

SpringMVC的文件上传非常简便,首先导入文件上传依赖的jar:

<!-- 文件上传所依赖的jar包 -->

<dependency>

<groupId>commons-fileupload</groupId>

<artifactId>commons-fileupload</artifactId>

<version>1.3.1</version>

</dependency>

在springMVC-servlet.xml配置文件中配置文件解析器:

<!--1*1024*1024即1M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 -->

<!--文件上传解析器-->

<bean id="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize" value="1048576"/>

<property name="defaultEncoding" value="UTF-8"/>

<property name="resolveLazily" value="true"/>

</bean>

注意解析器的id必须等于multipartResolver,否则上传会出现异常

import org.apache.commons.io.FileUtils

import org.springframework.stereotype.Controller

import org.springframework.web.bind.annotation.RequestMapping

import org.springframework.web.bind.annotation.RequestParam

import org.springframework.web.multipart.MultipartFile

import org.springframework.web.multipart.commons.CommonsMultipartFile

import java.io.File

@Controller

public class FileController {

/**

* 上传单个文件 *** 作

* MultipartFile file就是上传的文件

* @return

*/

@RequestMapping(value = "/upload1.html")

public String fileUpload1(@RequestParam("file") MultipartFile file) {

try {

//将上传的文件存在E:/upload/下

FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:/upload/",

file.getOriginalFilename()))

} catch (Exception e) {

e.printStackTrace()

}

//上传成功返回原来页面

return "/file.jsp"

}}

上传文件时,Controller的方法中参数类型是MultipartFile即可将文件映射到参数上。

页面:

file.jsp:

<form method="post" action="/upload1.html" enctype="multipart/form-data">

<input type="file" name="file"/>

<button type="submit" >提交</button>

</form>

*/@ApiModel("大文件分片入参实体")public class MultipartFileParam {

@ApiModelProperty("文件传输任务ID")private String taskId

@ApiModelProperty("当前为第几分片")private int chunk

@ApiModelProperty("每个分块的大小")private long size

@ApiModelProperty("分片总数")private int chunkTotal

@ApiModelProperty("主体类型--这个字段是我项目中的其他业务逻辑可以忽略")private int objectType

@ApiModelProperty("分块文件传输对象")private MultipartFile file


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11437097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存