java实现保存文件图片以及读取

// 文件转换为字节数组
 private byte[] getByteFromFile(File file) {
  byte[] be = null;
  try {
   if (file == null) {
    return null;
   }
   FileInputStream in = new FileInputStream(file);
   ByteArrayOutputStream out = new ByteArrayOutputStream(4000);
   byte[] b = new byte[4000];
   int n;
   while ((n = in.read(b)) != -1) {
    out.write(b, 0, n);
   }
   in.close();
   out.close();
   be = out.toByteArray();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return be;
 }

 

// 查看文件
 public String execute() throws IOException, DocumentException {
  HttpServletResponse response = ServletActionContext.getResponse();
  // 清缓存
  response.setDateHeader("Expires", 0);
  response.setHeader("Pragma", "no-cache");
  response.setHeader("Cache-Control", "no-cache");
  response.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();
  // 通过ID获取对象
  WorkFlow wf = ws.findById(wfId);
  byte[] defs = wf.getProcessFile();
  System.out.println(defs);
  String wfString = new SAXReader().read(new ByteArrayInputStream(defs))
    .asXML();
  out.print(wfString);
  out.close();
  return null;
 }

 

// 查看图片
 public String showImg() {
  HttpServletResponse response = ServletActionContext.getResponse();
  WorkFlow wf = ws.findById(wfId);
  try {
   response.getOutputStream().write(wf.getProcessImg());
   // 清理response
   response.flushBuffer();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return "showImg";
 }

 

 

posted @ 2013-11-05 09:24  不说话  阅读(6678)  评论(0编辑  收藏  举报