ssh框架 使用struts上传图片

使用ssh框架 struts上传图片,使用相对路径 保存到本地服务器文件夹下面,路径保存到mysql数据库中


一,项目文件部署

ssh框架 使用struts上传图片_第1张图片

在webRoot下面创建了upload文件夹 主要是用来存取图片


二,添加图片的页面

 

     

      AddFile" method="post" enctype="multipart/form-data">
            detailed
" label="图片详细">
            file" label="图片">
           
          
 


三,struts.xml的配置文件

    
    


     
      AddFile
" class="addImg">    

         
           allFile
          
           
               
                    image/bmp,image/png,image/gif,image/jpeg,image/jpg
               
                102400
           

            
           
           
      

      
      
         /scce.jsp
      
     


四,添加图片的action类代码如下

@SuppressWarnings("serial")
public class Add_action extends ActionSupport {

    private ImgServlet imgServlet;
    //图片详细
    private String  detailed;
    // 封装上传文件域的属性
    private File file;
    // 封装上传文件类型的属性
    private String fileFileName;
    // 封装上传文件名的属性
    private String fileContentType;

    
    public ImgServlet getImgServlet() {
        return imgServlet;
    }
    public void setImgServlet(ImgServlet imgServlet) {
        this.imgServlet = imgServlet;
    }

    public String getDetailed() {
        return Detailed;
    }
    public void setName(String Detailed) {
        this.name = Detailed;
    }
    public File getFile() {
        return file;
    }
    public void setFile(File file) {
        this.file = file;
    }
    public String getFileFileName() {
        return fileFileName;
    }
    public void setFileFileName(String fileFileName) {
        this.fileFileName = System.currentTimeMillis()+fileFileName;
    }
    public String getFileContentType() {
        return fileContentType;
    }
    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    @SuppressWarnings("unchecked")
    public String execute(){

        File destFile = null;
        //获得图片保存的路径
        String root = ServletActionContext.getServletContext().getRealPath("/upload");
    
        try {

            InputStream is = new FileInputStream(file);
            destFile = new File(root,this.getFileFileName());

            FileUtils.copyFile(file, destFile);  

            //把图片写入到上面设置的路径里
            OutputStream os = new FileOutputStream(destFile);

            byte[] buffer = new byte[400];
            int length  = 0 ;
            while((length = is.read(buffer))>0){
                os.write(buffer, 0, length);
            }    
            FileImg fileImg=new FileImg(name,this.getFileFileName());
            //把图片添加到数据库
            imgServlet.AddImg(fileImg);

            is.close();
            os.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
       return "scce";
    }
    
}


五 查询全部图片的action

public class All_action {

    private ImgServlet imgServlet;
    
    public ImgServlet getImgServlet() {
        return imgServlet;
    }
    public void setImgServlet(ImgServlet imgServlet) {
        this.imgServlet = imgServlet;
    }

    @SuppressWarnings("unchecked")
    public String execute(){
        //获得request对象
        Map request = (Map) ActionContext.getContext().get("request");
        //将数据库中的值保存到list集合中
        List fileImgslist=imgServlet.All();
        //把list集合保存到request中
        request.put("fileImgslist", fileImgslist);
        return "all";
        
  }
}


六,显示图片的jsp页面

 
  
     upload
/${aa.url}">
  

 





你可能感兴趣的:(ssh框架 使用struts上传图片)