spring 教程

spring mvc文件上传示例 -888棋牌游戏

spring mvc提供了一种上传文件的简便方法,它可以是图像或其他文件。让我们看一个使用spring mvc上传文件的简单示例。

必需的jar文件

要运行此示例,您需要加载:

spring core jar文件 spring web jar文件 commons-fileupload.jar和commons-io.jar文件

1)下载spring的所有jar文件,包括core,web,aop,mvc,j2ee ,远程处理,oxm,jdbc,orm等。

2)下载commons-io.jar

3)下载commons -fileupload.jar

spring mvc文件上传步骤(不包括mvc)

1)添加commons-io和fileupload.jar文件

2)添加条目spring-servlet.xml中的commonsmultipartresolver

3)创建表单以提交文件。方法名称必须为" post",并键入" multiple/form-data"。


select file: 

4)在controller中使用commonsmultipartfile类。

@requestmapping(value="/savefile",method=requestmethod.post)
public modelandview upload(@requestparam commonsmultipartfile file,httpsession session){
        string path=session.getservletcontext().getrealpath("/");
        string filename=file.getoriginalfilename();
        
        system.out.println(path " " filename);
        try{
        byte barr[]=file.getbytes();
        
        bufferedoutputstream bout=new bufferedoutputstream(
                 new fileoutputstream(path "/" filename));
        bout.write(barr);
        bout.flush();
        bout.close();
        
        }catch(exception e){system.out.println(e);}
        return new modelandview("upload-success","filename",path "/" filename);
    }

5)在jsp中显示图像。

spring mvc文件上传示例

创建图像目录

在您的项目中创建"图像"目录,因为我们正在编写将所有文件保存在"/images"目录中的代码。

index.jsp

upload image

emp.java

package com.nhooo;
import java.io.bufferedoutputstream;
import java.io.file;
import java.io.fileoutputstream;
import javax.servlet.servletcontext;
import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpservletresponse;
import javax.servlet.http.httpsession;
import org.apache.commons.fileupload.disk.diskfileitemfactory;
import org.apache.commons.fileupload.servlet.servletfileupload;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.modelattribute;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.requestparam;
import org.springframework.web.multipart.commons.commonsmultipartfile;
import org.springframework.web.servlet.modelandview;
@controller
public class hellocontroller {
    private static final string upload_directory ="/images";
    
    @requestmapping("uploadform")
    public modelandview uploadform(){
        return new modelandview("uploadform"); 
    }
    
    @requestmapping(value="savefile",method=requestmethod.post)
    public modelandview saveimage( @requestparam commonsmultipartfile file,
           httpsession session) throws exception{
    servletcontext context = session.getservletcontext();
    string path = context.getrealpath(upload_directory);
    string filename = file.getoriginalfilename();
    system.out.println(path " " filename);       
    byte[] bytes = file.getbytes();
    bufferedoutputstream stream =new bufferedoutputstream(new fileoutputstream(
         new file(path   file.separator   filename)));
    stream.write(bytes);
    stream.flush();
    stream.close();
         
    return new modelandview("uploadform","filesuccess","file successfully saved!");
    }
}

web.xml



 
    spring
    org.springframework.web.servlet.dispatcherservlet
    1


    spring
    /


spring-servlet.xml

在这里,您需要为commonsmultipartresolver创建一个bean。


  






uploadform.jsp

此处的表单必须为method ="post"和enctype ="multipart/form-data"。

<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
 
 
 image file upload
 
 
${filesuccess}

choose image


输出

spring mvc文件上传output1 spring mvc文件上传output2 springmvc文件上传output3

转到服务器控制台上打印的路径,以查看上传的文件。

888棋牌游戏的友情链接:

网站地图