SpringMVC 文件上传实现

前端

<form method="post" action="api/file/uploadFile" enctype="multipart/form-data">
    <input type="file" name="uploadFile" >
    <input type="submit" value="提交">
</form>

注意:提交方式必须为post
enctype=“multipart/form-data”

后端

@Controller
@RequestMapping("/file")
public class fileController {
    @RequestMapping("/uploadFile")
    public void uploadFile(MultipartFile uploadFile, HttpServletRequest request) throws IOException {
        //随机文件名
        long time = new Date().getTime();
        
        String path = request.getServletContext().getRealPath( "/img/" ); //C://xx/img
        //后缀名 jpg
        String extension = FilenameUtils.getExtension( multipartFile.getOriginalFilename() );
        // C://xx/img/aa.jpg  linux:/url/tomcat/webapp/AAA/13cd.png
        File file = new File( path + time + "." + extension );
        //保存文件
        multipartFile.transferTo( file );
        //将文件URL 地址返回
        //返回:http://xxx:8080/img/+   fileName + "." + extension
    }
}

注意:文件选择框name,需要和参数接受名一致

springmvc配置文件

<!--文件上传,name必须等于multipartResolver-->
    <bean name="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--设置文件大小:单位字节-->
        <property name="maxUploadSize" value="5000000"></property>
    </bean>

注意:配置文件最多上传大小
可以限制文件上传格式

猜你喜欢

转载自blog.csdn.net/qq_35495339/article/details/92586498