简单的HTML5页面的图片上传(Java代码实现)

第一步:
在maven中导入jar包坐标,主要是commons-io,commons-fileupload,commons-logging这几个包和springmvc的包


        
            org.springframework
            spring-context
            5.0.2.RELEASE
        
        
        
            org.springframework
            spring-webmvc
            5.0.2.RELEASE
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
        
        
        
            commons-io
            commons-io
            2.4
        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
            commons-logging
            commons-logging
            1.1.3
        
    

第二步:
配置web.xml文件,springmvc框架单独可以运行,不需要读取applicationContext.xml文件


    
        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
    
        encodingFilter
        /
    

    
    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath*:springmvc.xml
        
    
    
        dispatcherServlet
        /
    

第三步:
编写springmvc.xml配置文件,必须配置多媒体解析器,当然里面的property可以按需求多写几项简单的HTML5页面的图片上传(Java代码实现)_第1张图片

 
    
    
    
        
        
    

    
    
        
        
        
        
    

    
    
    
    

第四步:
编写前端页面,简单的测试不需要用太多标签,主要是必须用到form表单,不用form表单需要另一种方式通过base64编码来转换图片

 
    
    
    

第五步:
后端java代码编写:
后端代码使用”流“将图片存到本地,参数列表的接收类型必须是MultipartFile 类型

@Controller
@RequestMapping("/fileUpload")
public class FileUpload {
    @RequestMapping("/pictureUpload")
    public String fileUpload(MultipartFile file){//必须使用MultipartFile类型来接收图片
        if(!file.isEmpty()){
            try {
                //定义输出流 将文件保存在D盘    file.getOriginalFilename()为获得文件的名字
                FileOutputStream os = new FileOutputStream("D:/"+file.getOriginalFilename());
                InputStream in = file.getInputStream();
                int b = 0;
                while((b=in.read())!=-1){ //读取文件
                    os.write(b);
                }
                os.flush();
                //关闭流
                in.close();
                os.close();

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return "success";
    }
}

你可能感兴趣的:(图片上传)