ssm框架下文件上传

springmvc实现文件上传的步骤:

1.页面上,通过input来准备file组件,该标签,必须给定name属性值
同时,要求form表单必须给定一个属性:enctype="multipart/form-data"
2.在pom.xml文件中,添加文件上传的第三方工具:
commons-fileupload-1.3.2.jar
commons-io-2.2.jar
3.在app-springmvc.xml配置文件中,准备上传操作的对象:CommonsMultipartResolver
在这个对象中,我们可以对文件大小,编码方式等进行设定
4.在控制器中,通过@RequestParam MultipartFile pic这种方式,来接收页面传递的文件
这里,参数的名字必须与页面上file组件的name属性值一致
此时,在控制器中,已经能够正常地接收页面上传的文件了,下一步,只需要把接收的这个文件,保存到服务器的硬盘上即可
<!-- 2文件上传依赖 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.2</version>
        </dependency>
<!-- 3文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
         <property name="maxUploadSizePerFile" value="102400000" ></property>
     </bean>

控制器:

<!-- 4 控制器。。。文件上传 -->
@RequestMapping(value="addFile",method=RequestMethod.POST)
    public String addFile(@RequestParam MultipartFile pic,HttpServletRequest request,Model model){
        String filename = pic.getOriginalFilename();
        System.out.println("接收到的文件的名字: "+filename);
        String contentType = pic.getContentType();
        System.out.println("接收文件的类型: "+contentType);
        InputStream iStream=null;
        OutputStream oStream=null;
        String realPath = request.getSession().getServletContext().getRealPath("/imgs");
        //得到一个随机的字符串
        String string = UUID.randomUUID().toString();
        String endname = filename.substring(filename.lastIndexOf("."), filename.length());

        /*try {
            is = pic.getInputStream();
            os = new FileOutputStream(new File(realpath+"/"+uuid+endname));
            //要把文件输出到硬盘上,第一种方式:自己写字节流 并通过边读边写操作完成输出
            byte [] b = new byte[1024];
            int len = is.read(b);
            while(len!=-1){
                os.write(b, 0, len);
                len = is.read(b);
            }
            os.flush();
            os.close();
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }*/

        //通过commons-io包提供的工具来完成拷贝
        try {
            iStream=pic.getInputStream();
            oStream=new FileOutputStream(new File(realPath+"/"+string+endname));
            FileCopyUtils.copy(iStream, oStream);
            oStream.flush();
            oStream.close();
            iStream.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("文件保存路径:"+realPath+"/"+string+endname+"....");
        return "index";
    }

原文地址:https://www.cnblogs.com/dztHome/p/8929902.html

时间: 2024-10-09 21:12:15

ssm框架下文件上传的相关文章

SSM框架之文件上传

1.导入文件上传的jar包 2.图片不是存在数据库中,而是存在某个目录下面,然后返回一个路径(找图片的路径) 数据库只需要保存该路径即可. 3.springmvc是支持文件上传的 在springMVC中配置文件上传,并限制文件上传的大小 这里一定要配置ID,并且ID的名字是固定的:multipartresolver 4.后台如何上传图片 1.获取图片数据 后台接收图片的时候需要用multipartresolverhttpservletrequest接口去接收该request 然后调用.getfi

笨鸟先飞之Java(一)--使用struts2框架实现文件上传和下载

不管是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个常用功能会有很多种解决方式,但是struts2的框架却能给我们一个比较简单的方式,下面就一起来看吧: 文件上传: 首先来看实现上传功能的表单,Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType=&q

笨鸟先飞之Java(一)--使用struts2框架实现文件上传

无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: 文件上传: 首先来看实现上传功能的表单.Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType

windows 下文件上传到fastdfs

php.ini 配置 [fastdfs]; the base pathfastdfs_client.base_path = D:/tmp; connect timeout in seconds; default value is 30sfastdfs_client.connect_timeout = 2; network timeout in seconds; default value is 30sfastdfs_client.network_timeout = 60 ; standard l

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin

springboot框架,文件上传问题===org.springframework.web.HttpMediaTypeNotSupportedException: Content type &#39;multipart/form-data;

使用IDEA开发springboot项目,需求中要提交数据项和文件上传,同时接收实体bean对象和文件,后台Controller接收配置方式: Controller代码如下: 1 @RequestMapping(value="/comment",method = RequestMethod.POST) 2 public @ResponseBody RetResult saveIndustryComment(HttpServletRequest request,@RequestParam

ssm框架实现图片上传显示并保存地址到数据库

本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结构 相关配置自行搜索,下边直接实现上传功能 1.创建数据库 DROP TABLE IF EXISTS `product`; CREATE TABLE `product` ( `pid` int(11) NOT NULL AUTO_INCREMENT, `pimage` varchar(255) DE

【转】NodeJS教程--基于ExpressJS框架的文件上传

本文是翻译的一篇文章,原文地址:Handle File Uploads in Express (Node.js). 在NodeJS发展早期上传文件是一个较难操作的功能,随后出现了formidable.它开了一个好头,然而上传文件仍然不是那么容易.在此之后又出现了基于原文作者的教程(tutorial on handling POST requests in Express)而实现的工具connect-form.它让文件上传的过程显得简单了一些. 随着NodeJS社区的飞速发展,让上传文件这个功能变

基于spring 3.0mvc 框架的文件上传实现

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术.Spring MVC 分离了控制器.