码迷,mamicode.com
首页 > 编程语言 > 详细

springmvc文件上传tomcat虚拟路径设置

时间:2018-04-28 19:24:58      阅读:531      评论:0      收藏:0      [点我收藏+]

标签:property   ima   文件路径   stp   string   multi   return   format   src   

1.加载架包

  commons-fileupload.jar

  commons-io-2.4.jar

2.在一些文件存储量很小的工程中,一般都是把上传的文件放置在工程本身的目录下,但当上传的文件的量越来越大的时候,工程本身的文件夹容量也会越来越大,不利于工程      的打包和部署,工程的启动和运行也会受到影响,所以在这里是用了本地的盘符来存储文件,并设置虚拟路径来访问文件,用的是tomcat 7 

   在MyEclipse工具中双击Tomcat,在web modules页面中设置虚拟路径

   技术分享图片

   当在网址中访问/pic路径时就可以访问到本地的F:\java\upload文件路径

3.在springmvc.xml配置文件中配置文件解析器

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize">
<value>5242880</value>
</property>
</bean>

4.编写文件上传Controller类

/**
* 参数:上传的文件,保存路径,保存文件名
* @throws IOException
* @throws IllegalStateException
* */
@RequestMapping("uploadImg.action")
public String upload(Model model,@RequestParam MultipartFile file) throws IllegalStateException, IOException{

String savePath = "F:\\java\\upload";//upload文件夹路径
String fileName = file.getOriginalFilename();//获取文件名
String date = null;//系统日期
String newFileName = null;//存储后的文件名
createFold = new CreateFold();//获取当前系统日期,创建当天的保存文件夹
String path = null;//最终保存的文件路径

if(file!=null&&fileName!=null&&fileName.length()>0){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
date = sdf.format(new Date());//获取系统时间转换为字符串
path = createFold.createFoldFile(savePath, date);//在指定的路径文件夹中创建当天的文件夹保存上传的文件
newFileName = UUID.randomUUID()+fileName.substring(fileName.lastIndexOf("."));
File newFile = new File(path+newFileName);
file.transferTo(newFile);//把文件存储到指定路径中
}
model.addAttribute("img", date+"/"+newFileName);

return "jsp/ImgUploadTest";
}

 CreateFold类:

/**
* String path:在哪个路径下创建文件夹
* String date:当前系统日期字符串
* 返回值:新创建的文件夹路径
* **/
public String createFoldFile(String path,String date){
String newPath = path+"\\"+date;
File fold = new File(newPath);
if(!fold.exists()){
fold.mkdir();
}
return newPath+"\\";
}

5.编写前段页面ImgUploadTest.jsp

<form action="uploadImg.action" method="post" enctype="multipart/form-data">
<c:if test="${img!=null }">
<img src="/pic/${img }" width="100" height="100">
</c:if>
<input type="file" name="file"><br>
<input type="submit" value="上传">
</form>

 

springmvc文件上传tomcat虚拟路径设置

标签:property   ima   文件路径   stp   string   multi   return   format   src   

原文地址:https://www.cnblogs.com/lihaitao33/p/8968912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!