Structs2或者SSH处理图片上传

来源:互联网 发布:酷讯dt35淘宝可靠吗 编辑:程序博客网 时间:2024/05/16 23:46

1.在Action中创建变量,用于接收页面提交的图片信息

  //上传文件集合       private File file0;       //上传文件集合       private String picUserID;   //当前上传头像的用户的ID    //上传文件名集合       private String file0FileName;       //上传文件内容类型集合       private String file0FileContentType; public String getPicUserID() {return picUserID;}public void setPicUserID(String picUserID) {this.picUserID = picUserID;}public File getFile0() {return file0;}public void setFile0(File file0) {this.file0 = file0;}public String getFile0FileName() {return file0FileName;}public void setFile0FileName(String file0FileName) {this.file0FileName = file0FileName;}public String getFile0FileContentType() {return file0FileContentType;}public void setFile0FileContentType(String file0FileContentType) {this.file0FileContentType = file0FileContentType;}


2.编辑action方法,处理图片上传的业务逻辑

/** * 处理用户上传的头像 * @return * @throws Exception */public String addEmployeePic() throws Exception {System.out.println("当前用户ID为:" + picUserID);Map<String,Object> map = new HashMap<String,Object>();try {             InputStream in = new FileInputStream(file0);               String dir = ServletActionContext.getRequest().getRealPath("/images/upload/head");              File fileLocation = new File(dir);             System.out.println("文件夹路径为:" + dir);            //此处也可以在应用根目录手动建立目标上传目录              if(!fileLocation.exists()){                  boolean isCreated  = fileLocation.mkdir();                  if(!isCreated) {                      //目标上传目录创建失败,可做其他处理,例如抛出自定义异常等,一般应该不会出现这种情况。                      System.out.println("创建文件夹失败");                  }              }              String fileName = this.getFile0FileName();            // 改变文件名称保证唯一名称            String saveFileName = makeFileName(fileName);            File uploadFile = new File(dir, saveFileName);               OutputStream out = new FileOutputStream(uploadFile);               byte[] buffer = new byte[1024 * 1024];               int length;               while ((length = in.read(buffer)) > 0) {                   out.write(buffer, 0, length);               }               in.close();               out.close();             System.out.println("文件读写成功");            boolean result = userKissflyService.savePhotoImg("/sshexec/images/upload/head/"+saveFileName,Long.parseLong(picUserID));            System.out.println("图片路径保存成功");            map.put("result",result);        } catch (FileNotFoundException ex) {               System.out.println("上传失败!");            map.put("result",false);            ex.printStackTrace();           } catch (IOException ex) {               System.out.println("上传失败!");              map.put("result",false);            ex.printStackTrace();           }           System.out.println("返回结果map为:" + map.toString());        this.setResult(map);return "addSUCCESS";}/** * 调整文件名,使之无重复 * @param filename * @return */    public String makeFileName(String filename)    {        return UUID.randomUUID().toString() + "_" + filename;    }



0 0
原创粉丝点击