<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://www.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
    主站蜘蛛池模板: 亚洲制服丝袜一区二区三区| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲国产a∨无码中文777| 免费激情网站国产高清第一页| 欧洲美熟女乱又伦免费视频| 亚洲精品无码久久久久久| 在线免费观看毛片网站| 亚洲人成色99999在线观看| 免费看www视频| 精品视频免费在线| 免费a级毛片无码a∨性按摩| 特级毛片全部免费播放a一级| 免费a级毛片大学生免费观看 | 一级一黄在线观看视频免费| 亚洲国产成人久久综合区| 色婷婷综合缴情综免费观看| 亚洲综合区小说区激情区 | 亚洲va在线va天堂va不卡下载| 免费国产叼嘿视频大全网站| 亚洲一区二区中文| 毛片免费观看网址| 色综合久久精品亚洲国产| 国产成人亚洲综合无码| 一级毛片免费观看不卡视频| 亚洲人成片在线观看| 国产在线播放免费| 91视频免费观看高清观看完整| 亚洲电影一区二区| 免费做爰猛烈吃奶摸视频在线观看| 亚洲日韩AV一区二区三区四区| gogo全球高清大胆亚洲| 久久精品一区二区免费看| 亚洲人成小说网站色| 亚洲福利在线播放| 三年片在线观看免费观看大全动漫| 亚洲成aⅴ人在线观看| 免费国产在线观看不卡| 精品国产一区二区三区免费| 亚洲 日韩经典 中文字幕| 国产AV无码专区亚洲AV漫画| 五月婷婷综合免费|