文档章节

jeesite文件上传使用笔记

丶Lion
 丶Lion
发布于 2016/05/13 22:43
字数 510
阅读 3379
收藏 5

1·后端代码
        UploadUtils upload = new UploadUtils();//文件上传工具类 ,使用multipart
        upload.setDirName("music");//设置文件类型,类型决定后缀名格式
        String []path = upload.uploadFile(request);
        if(path!=null&&path.length>0){
            music.setUrl(path[4]);
        }
 

2·前端代码

form表单使用 enctype="multipart/form-data" 上传文件

映射对象属性    private MultipartFile f;

 

注意:前段使用   enctype="multipart/form-data"  之后  form表单提交的其他value属性,springmvc映射不出来了。

原因:

这个和servlet容器有关系,比如tomcat等。 

1.get方式 
get方式提交的话,表单项都保存在http header中,格式是 
http://localhost:8080/hello.do?name1=value1&name2=value2这样的字符串。server端通过request.getParameter是可以取到值的。 

2.post方式(enctype为缺省的application/x-www-form-urlencoded) 
表单数据都保存在http的正文部分,格式类似于下面这样:用request.getParameter是可以取到数据的 

name1=value1&name2=value2 

3.post方式(enctype为multipart/form-data,多用于文件上传) 
表单数据都保存在http的正文部分,各个表单项之间用boundary隔开。格式类似于下面这样:用request.getParameter是取不到数据的,这时需要通过request.getInputStream来取数据,不过取到的是个InputStream,所以无法直接获取指定的表单项(需要自己对取到的流进行解析,才能得到表单项以及上传的文件内容等信息)。这种需求属于比较共通的功能,所以有很多开源的组件可以直接利用。比如:apache的fileupload组件,smartupload等。通过这些开源的upload组件提供的API,就可以直接从request中取得指定的表单项了。 

 

解决办法:

springmvc配置文件中加入以下配置

    <!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="maxUploadSize" value="${web.maxUploadSize}" />  
    </bean>

缘由:

我也不知道,反正加上就行了·········囧·······CommonsMultipartResolver···可能不光起了限定大小的作用,还有其他一部分作用

© 著作权归作者所有

丶Lion

丶Lion

粉丝 58
博文 42
码字总数 29826
作品 1
济南
后端工程师
私信 提问
JeeSite环境搭建及运行和打包(master20161117)

涉及的软件: 1、phpStudy(主要用MySql) 2、maven3(用于依赖包,下面我将上传已经下载好所有依赖包的版本,保证运行正常) 具体操作: 0、前言 由于GitHub上的Release版本没有及时更新,所...

easonjim
2016/11/18
0
0
ThinkGem/JeeSite4 Spring Cloud

引言 JeeSite Spring Cloud 是基于 Spring Cloud Finchley 的一个分布式系统套件的整合。 特点:用经典开发模式,开发分布式应用,两个字【简单】,一个字【快】。 技术选型 分布式系统主框架...

ThinkGem
2018/12/07
0
0
分布式系统套件的整合 - JeeSite Spring Cloud

引言 JeeSite Spring Cloud 是基于 Spring Cloud Finchley 的一个分布式系统套件的整合。 特点:用经典开发模式,开发分布式应用,两个字【简单】,一个字【快】。 技术选型 分布式系统主框架...

ThinkGem
2018/11/19
0
0
jeesite 快速开发平台 初体验

http://www.jeesite.com/ GitHub:https://github.com/thinkgem/jeesite 开源中国:http://git.oschina.net/thinkgem/jeesite 更多文档 https://github.com/thinkgem/jeesite/tree/master/do......

晨猫
2018/05/21
0
0
jeesite代码生成界面的那个下拉选框里,不显示我创建的数据表,怎么弄

我使用jeesite项目里的代码生成,按照jeesite数据库规范创建数据表,然后在业务表模块里面进行代码生成,但是”业务表添加“页面的那个下拉框不显示任何表名,包括jeesite原本自带的和我自己...

齿轮1
04/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java导出json数据到excel中

可以用前端js导,也可以使用后端的POI导出 前端导出 base64(s) { return window.btoa(unescape(encodeURIComponent(s))) },exportExcel() { // 前端导出excel console.log(this.showL...

咸鱼-李y
19分钟前
2
0
Python大神的学习秘籍!Pycharm快捷键大全

一、编辑(Editing) Ctrl+Space 基本的代码完成(类、方法、属性) Ctrl+Alt+Space 快速导入任意类 Ctrl+Shift+Enter 语句完成 Ctrl+P 参数信息(在方法中调用参数) Ctrl+Q 快速查看文档 ...

Python派森
24分钟前
0
0
CentOS 7创建Samba共享目录

1. 安装Samba服务 yum -y install samba# 查看yum源中Samba版本yum list | grep samba# 查看samba的安装情况rpm -qa | grep samba Samba服务器安装完之后, 会生成配置文件...

wzb88
28分钟前
0
0
node对接易支付

安装md5第三方模块 npm install utility --save-dev const utility=require("utility"); //导入md5第三方库let data={ pid:"你的pid", money:"金额", ......

Chason-洪
33分钟前
0
0
资深架构师带你从JVM层面了解线程的启动和停止

文章简介 这一篇主要围绕线程状态控制相关的操作分析线程的原理,比如线程的中断,线程的通信等,内容比较多,可能会分两篇文章 内容导航 线程的启动的实现原理 线程停止的实现原理分析 为什...

Java-飞鱼
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部