visual_getfile.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:2k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=utf-8"%>
  2. <%@page import="cn.js.fan.util.*"%>
  3. <%@page import="cn.js.fan.web.Global"%>
  4. <%@page import="com.redmoon.oa.visual.*"%>
  5. <%@page import="java.util.*"%>
  6. <%@page import="java.io.*"%>
  7. <%@page import="java.net.*"%>
  8. <jsp:useBean id="fchar" scope="page" class="cn.js.fan.util.StrUtil"/>
  9. <jsp:useBean id="privilege" scope="page" class="com.redmoon.oa.pvg.Privilege"/>
  10. <%
  11. String priv = "read";
  12. if (!privilege.isUserPrivValid(request, priv))
  13. {
  14. //response.setContentType("text/html;charset=gb2312"); 
  15. out.print("<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>");
  16. out.println(fchar.makeErrMsg("鏉冮檺闈炴硶"));
  17. return;
  18. }
  19. int id = ParamUtil.getInt(request, "attachId");
  20. Attachment att = new Attachment(id);
  21. // 鐢ㄤ笅鍙ヤ細浣縄E鍦ㄦ湰绐楀彛涓墦寮€鏂囦欢
  22. response.setContentType(MIMEMap.get(StrUtil.getFileExt(att.getDiskName())));
  23. response.setHeader("Content-disposition","filename="+att.getName());
  24. // 浣垮鎴风鐩存帴涓嬭浇锛屼笂鍙ヤ細浣縄E鍦ㄦ湰绐楀彛涓墦寮€鏂囦欢锛屼笅鍙ヤ篃涓€鏍凤紝鏅?
  25. // response.setContentType("application/octet-stream");
  26. // response.setHeader("Content-disposition","attachment; filename="+att.getName());
  27. BufferedInputStream bis = null;
  28. BufferedOutputStream bos = null;
  29. try {
  30. bis = new BufferedInputStream(new FileInputStream(att.getFullPath()));
  31. bos = new BufferedOutputStream(response.getOutputStream());
  32. byte[] buff = new byte[2048];
  33. int bytesRead;
  34. while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
  35. bos.write(buff,0,bytesRead);
  36. }
  37. } catch(final IOException e) {
  38. System.out.println( "IOException: " + e );
  39. } finally {
  40. if (bis != null)
  41. bis.close();
  42. if (bos != null)
  43. bos.close();
  44. }
  45. %>