<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-167  評論-65  文章-0  trackbacks-0

    上次我介紹了mysql數據庫中存取圖片的方法,詳見:

    http://m.tkk7.com/fl1429/archive/2009/05/27/278212.html

    正好這幾天又用到了sql server 2000數據庫,然而在sql 2000中存取圖片和mysql中大部相同,但是思想是一樣的,都是在數據庫中存二進制,但是還有一種解決方案,就是可以再數據庫中存取圖片的路徑,這樣比較簡單,我就不介紹了,為了安全起見,還是把圖片保存到數據庫中了.

    首先注意在mysql中存的字段類型是 blob類型,而在sql 2000中則用image類型,具體步驟見下:

    上傳頁:upload.jsp

             <form action="ImageServlet" method="post" name="form1">
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>頭像上傳:</p>
        <table width="800" height="136" border="0">
            <tr>
            <td>姓名:</td>
            <td><input type="text" name="name">
            </td>
          </tr>
          <tr>
            <td>上傳圖片:</td>
            <td><input type="file" name="photo">
            (上傳后不可修改)</td>
          </tr>
          <tr>
            <td><input type="submit" name="Submit" value="提交"></td>
              <td><input type="reset" name="Submit2" value="重置"></td>
          </tr>
        </table>
      </form>

    處理的servlet:ImageServlet

        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html");
            response.setCharacterEncoding("utf-8");
            request.setCharacterEncoding("utf-8");
            PrintWriter out = response.getWriter();
            String name = request.getParameter("name");
            String path = request.getParameter("photo");
            
            int len;
            String query;
            PreparedStatement pstmt;
            Connection conn = null;
            
           try{
                       ConnectSqlserver connectSqlserver = new ConnectSqlserver();
                       conn = connectSqlserver.openConnection();
                    File file = new File(path);
                    FileInputStream fis = new FileInputStream(file);
                    len = (int)file.length();
    
                    query = ("insert into applys(name,photo) VALUES(?,?)");
                    pstmt = conn.prepareStatement(query);
                    pstmt.setString(1,name);      
    
                    // Method used to insert a stream of bytes
                    pstmt.setBinaryStream(2, fis, len); 
                    pstmt.executeUpdate();
           }catch(Exception e){
               e.printStackTrace();
           }
            
            out.flush();
            out.close();
        }

    顯示圖片的servlet:

        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            Connection conn = null;
            
            response.setContentType("text/html");
            response.setCharacterEncoding("utf-8");
            request.setCharacterEncoding("utf-8");
            //PrintWriter out = response.getWriter();
            
              byte[] fileBytes;
              String query = "";
              try
              {
                  ConnectSqlserver connectSqlserver = new ConnectSqlserver();
                  conn = connectSqlserver.openConnection();
                      query = "select photo from applys where name = 'feng' ";
                    
                      Statement state = conn.createStatement();
                      ResultSet rs = state.executeQuery(query);
                      if (rs.next())
                     {
                               fileBytes = rs.getBytes("photo");
                               System.out.println(fileBytes);
                          //     OutputStream targetFile = new FileOutputStream("d://new.JPG");
                               ServletOutputStream targetFile = response.getOutputStream();
                               targetFile.write(fileBytes);
                               targetFile.close();
                     }        
                     
              }
              catch (Exception e)
              {
                      e.printStackTrace();
              }
    
            //out.flush();
            //out.close();
        }

    顯示圖片的jsp:view.jsp

      <td width="152" rowspan="3"><img src="ShowServlet?name=feng" width="140" height="140"></td>

    ref:

    http://www.java-tips.org/other-api-tips/jdbc/how-to-store-retrieve-image-to-from-sqlserver.html
    http://forums.sun.com/thread.jspa?threadID=5361151
    http://java.ittoolbox.com/groups/technical-functional/java-l/insert-image-into-sqlserver-sample-program-157642
    http://www.java.happycodings.com/JDBC/code3.html
    http://www.cnblogs.com/long/articles/166546.html

    write by feng
    posted on 2009-06-02 15:10 fl1429 閱讀(1354) 評論(1)  編輯  收藏 所屬分類: Jsp/Servlet/Javabean

    評論:
    # re: java sql server 2000存取圖片 2010-07-13 21:28 | as
    謝謝你   回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: 免费视频成人国产精品网站| 亚洲中文字幕无码mv| 全部免费国产潢色一级| 亚洲成a人片7777| 18成禁人视频免费网站| 亚洲综合免费视频| 免免费国产AAAAA片| 亚洲第一男人天堂| 日本一道在线日本一道高清不卡免费| 亚洲一本之道高清乱码| 无人影院手机版在线观看免费| 亚洲国产精品综合福利专区| 国产精品久久久久久久久久免费| 国产精品高清视亚洲一区二区| 思思99re66在线精品免费观看| 亚洲精品国产国语| 又爽又高潮的BB视频免费看| 免费人妻精品一区二区三区| 国产精品亚洲片在线| 蜜臀AV免费一区二区三区| 亚洲小说图区综合在线| 国产无遮挡吃胸膜奶免费看| 一级毛片大全免费播放| 亚洲妇熟XXXX妇色黄| 国产精品免费观看| 羞羞的视频在线免费观看| 国产日产亚洲系列| 亚洲免费视频网址| 国产精品亚洲综合一区在线观看| 久久久精品国产亚洲成人满18免费网站| 久久青草精品38国产免费| 亚洲a级在线观看| 国产成人精品日本亚洲专区| 国产成人久久AV免费| 2020国产精品亚洲综合网| 红杏亚洲影院一区二区三区 | 香港特级三A毛片免费观看| 黑人精品videos亚洲人| 欧美好看的免费电影在线观看| jzzjzz免费观看大片免费| 亚洲人妖女同在线播放|