首页 > 代码库 > SpringMVC中的文件上传

SpringMVC中的文件上传

                                                                                        SpringMVC中的文件上传

步骤:

1.获取服务器下某个文件的绝对路径

2.1判断此文件夹是否存在不存在则创建文件夹(可以建立多层的mkdirs()方法)

3.判断上传文件的姓名

4.判断是否上传文件

5.获取上传文件的后缀名,例如jpg,docx

6.新建新的上传文件的文件名

7.完成上传

 

 

Html处代码(直接上传,不对文件进行判断):

<body>

<h2>文件上传</h2>

<form action="upload01" method="post" enctype="multipart/form-data">

上传者姓名:<input type="text" name="user_name"><br>

文件:<input  type="file" name="myfile">

<button>上传</button>

</form>

</body>

 

 

Controller中上传部分代码:

@postMapping("/upload01")

public String text(){

 

//1.获取服务器下某个文件的绝对路径

String path=request.getServletContext().getRealPath("/attr/");

//2.文件夹的建立2.1判断此文件夹是否存在

File folder=new File(path);

if(!folder.exists()){//2.1判断此文件夹是否存在

folder.mkdirs();//2.1不存在则创建文件夹(可以建立多层的mkdirs()方法)

}

//3.判断上传文件的姓名

String filename=myfile.getOriginalFilename();

//4.判断是否上传文件

if(!filename.isEmpty()){

//5.获取上传文件的后缀名,例如jpg,docx

String ext=FilenameUtils.getExtension(filename);

//6.新建新的上传文件的文件名

String newFile=new Date().getTime()+"_"+new Random().nextInt(10000)+"."+ext;

//(上面是时间戳方式)

//String newFile=UUID.randomUUID().toString()+"."+ext

//7.完成上传

myfile.transferTo(new File(path+File.separator+newFile));

}else{

}

return "jsp/result";//跳转到上传文件成功界面

}

 

SpringMVC中需要的配置信息

 <!-- 文件上传的解析器,只有id是固定值 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="http://www.mamicode.com/UTF-8" />
        <!-- 编码格式 -->
        <property name="maxUploadSize" value="http://www.mamicode.com/20971520" />
        <!-- 上传文件大小 -->
        <property name="maxInMemorySize" value="http://www.mamicode.com/2048" />
        <!-- 上传文件缓存 -->
        <property name="resolveLazily" value="http://www.mamicode.com/true" />
        <!-- 上传文件延时,提供上传效率 -->
    </bean>

 

                                                                                                                                                                                                                                               ---------------end

SpringMVC中的文件上传