Spring MVC - 上传文件(06)

本文介绍如何在Tomcat中设置虚拟路径,用于访问不在服务器WebContent目录下的文件,以及Spring MVC环境下使用MultipartFile进行文件上传的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚拟路径

在之前使用Servlet上传文件的时候,我们一般都是把文件放在WebContent的某个文件夹里。但是如果我们不想把文件放在服务器中,而是某盘符下的某个文件夹。就可以在Tomcat中设置虚拟路径。
双击Tomcat -> 选择 Modules -> Add External Web Module
虚拟路径1
Browser 选择文件夹,Path配置虚拟路径,如我的某图片访问路径应该是:http://localhost:8080/pic/2018-09-16_155927.png

虚拟路径2

上传文件

绑定文件:
import java.io.File;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

@Controller
public class Upload {
	
	@RequestMapping(value="/upload.action")
	//这个名字需要和表单中的一致
	public String upload(MultipartFile fileName) throws Exception {
		fileName.transferTo(new File("E:\\Java\\upload" + File.separator + fileName.getOriginalFilename()));
		return "upload";
	}
}
表单指定为 enctype=“multipart/form-data”
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
	<body>
		<form action="${pageContext.request.contextPath}/upload.action" enctype="multipart/form-data" method="post">
			<input name="fileName" type="file" />
			<input type="submit" value="上传" />
		</form>
	</body>
</html>
导第三方包

上传依赖包

配置
<!-- id必须是这个,不能改 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
	<!-- 默认是字节为单位,超过会报505 -->
	<property name="maxUploadSize" value="1"></property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值