隨筆-295  評論-26  文章-1  trackbacks-0

          /*
          ?* ViewUploadFile.java
          ?*
          ?* Created on 2006年2月4日, 上午1:29
          ?*/

          package path.system.manager;

          import java.io.*;
          import java.net.*;
          import java.util.*;

          import javax.servlet.*;
          import javax.servlet.http.*;
          import org.hibernate.Session;
          import system.entity.CRM_UploadFile;
          import.FileStorageService;

          public class ViewUploadFile extends HttpServlet {
          ??? private FileInputStream isFile = null;
          ???
          ??? /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
          ???? * @param request servlet request
          ???? * @param response servlet response
          ???? */
          ??? protected void processRequest(HttpServletRequest request, HttpServletResponse response)
          ??? throws ServletException, IOException {

          ??????? String szCoObject=request.getParameter("CoObject");
          ??????? String szID=request.getParameter("ID");
          ??????? String szMode = request.getParameter("Mode");
          ???????
          ??????? //清空緩沖
          ??????? response.reset();
          ???????
          ??????? OutputStream osOut = response.getOutputStream();
          ???????
          ??????? if(szID == null || szID.equals("") || szID.equals("0"))
          ??????? {??
          ??????????? byte[] cFileData = this.getNoDate (szCoObject);
          ???????????
          ??????????? this.isFile.read(cFileData);
          ??????????? osOut.write(cFileData);
          ??????? }
          ??????? else
          ??????? {
          ??????????? Session ssSession = HibernateUtil.getSession();
          ??????????? CRM_UploadFile csUpload;

          ??????????? csUpload = (CRM_UploadFile)ssSession.load(CRM_UploadFile.class,Integer.valueOf(szID));

          ??????????? String szFileName =csUpload.getFileName();
          ??????????? if (szFileName==null) szFileName = "";
          ??????????? String szRightName = new String( szFileName.getBytes(), "ISO8859_1" );????? //中文文件名處理
          ??????????? String szFileSize = csUpload.getFileSize().toString();
          ??????????? String urlFileName = csUpload.getUrlFileName();
          ///輸出到網頁
          ??????????? if ("0".equals(szFileSize)) {
          ??????????????? byte[] cFileData = this.getNoDate(szCoObject);
          ??????????????? this.isFile.read(cFileData);
          ??????????????? osOut.write(cFileData);
          ??????????? } else {
          ??????????????? if(szMode.equals("Download")) {
          ??????????????????????? response.setContentType("application/x-msdownload;");?????????? //下載類型
          ??????????????????????? response.setHeader("Content-Disposition","attachment; filename=" + szRightName);
          ??????????????? } else {
          ??????????????????????? response.setContentType(csUpload.getContentType());
          ??????????????????????? response.setHeader("Content-Disposition","filename=" + szRightName);
          ??????????????? }
          ??????????????? response.setHeader("content-length", szFileSize);
          ??????????????? //java.sql.Blob blob = csUpload.getBinaryData();
          ??????????????? File file = new File(FileStorageService.getRootPath() + urlFileName);
          ??????????????? if (!file.exists())
          ??????????????????? return;
          ???????????????
          ??????????????? InputStream bis = new BufferedInputStream(new FileInputStream(file));
          ??????????????? byte[] buffer = new byte[2048];
          ??????????????? for (int i = bis.read(buffer); i > 0; i = bis.read(buffer))
          ??????????????????? osOut.write(buffer, 0, i);
          ??????????????? bis.close();
          ???????????????????
          ??????????? }
          ??????? }
          ???????
          ??????? //防止超時
          ??????? //response.setStatus( response.SC_OK );
          ??????? response.flushBuffer();
          ??? }
          ???
          ??? private byte[] getNoDate (String szCoObject) throws IOException{
          ??????? String szFileName="";
          ??????? if(szCoObject.equals("Employee"))
          ??????????? szFileName = getServletContext().getRealPath("/images/Employee/NoPhoto.gif");
          ??????? else
          ??????????? szFileName = getServletContext().getRealPath("/images/Commodity/NoPhoto.gif");
          ??????? this.isFile= new FileInputStream(szFileName);

          ??????? int nSize = this.isFile.available();
          ??????? byte[] cFileData = new byte[nSize];
          ??????? return cFileData;
          ??? }
          ??? // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
          ??? /** Handles the HTTP <code>GET</code> method.
          ???? * @param request servlet request
          ???? * @param response servlet response
          ???? */
          ??? protected void doGet(HttpServletRequest request, HttpServletResponse response)
          ??? throws ServletException, IOException {
          ??????? processRequest(request, response);
          ??? }
          ???
          ??? /** Handles the HTTP <code>POST</code> method.
          ???? * @param request servlet request
          ???? * @param response servlet response
          ???? */
          ??? protected void doPost(HttpServletRequest request, HttpServletResponse response)
          ??? throws ServletException, IOException {
          ??????? processRequest(request, response);
          ??? }
          ???
          ??? /** Returns a short description of the servlet.
          ???? */
          ??? public String getServletInfo() {
          ??????? return "Short description";
          ??? }
          ??? // </editor-fold>
          }



          大盤預測 國富論
          posted on 2007-08-21 13:24 華夢行 閱讀(113) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 长沙市| 荣成市| 若尔盖县| 黄浦区| 通山县| 阿鲁科尔沁旗| 滨海县| 武山县| 郎溪县| 绥江县| 龙州县| 扶沟县| 奈曼旗| 天台县| 东海县| 云和县| 靖州| 黄骅市| 佳木斯市| 龙口市| 鄂伦春自治旗| 无锡市| 乌海市| 梧州市| 凤台县| 玉田县| 普兰县| 惠东县| 霞浦县| 犍为县| 阿拉善右旗| 廊坊市| 夏邑县| 宜兰县| 沅江市| 旬邑县| 锡林浩特市| 青川县| 咸阳市| 屏东市| 湾仔区|