<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數(shù)據(jù)庫中存取圖片的方法,詳見:

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

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

    首先注意在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 閱讀(1359) 評論(1)  編輯  收藏 所屬分類: Jsp/Servlet/Javabean

    評論:
    # re: java sql server 2000存取圖片 2010-07-13 21:28 | as
    謝謝你   回復  更多評論
      
    已訪問數(shù):
    free counters
    主站蜘蛛池模板: 国产成人精品日本亚洲语音 | 中文字幕在线免费观看视频| 在线免费一区二区| 亚洲AV无码久久久久网站蜜桃| 99在线热视频只有精品免费| 亚洲四虎永久在线播放| 亚洲视频在线观看免费视频| 久久久亚洲欧洲日产国码aⅴ | 野花香高清在线观看视频播放免费| 久久精品国产亚洲AV不卡| 国产va免费观看| 亚洲av无码不卡| 日本免费xxxx| 亚洲av无码专区首页| 亚洲 综合 国产 欧洲 丝袜| 国产成人自产拍免费视频| 亚洲AV无码乱码在线观看裸奔 | 国产精品酒店视频免费看 | 无码A级毛片免费视频内谢| 中文字幕亚洲色图| 最近最好的中文字幕2019免费 | 日本免费观看网站| 夜夜爽妓女8888视频免费观看| 国产精品亚洲片在线| 免费看又黄又无码的网站| 亚洲综合一区国产精品| 亚洲综合色区在线观看| 精品无码人妻一区二区免费蜜桃| 97久久国产亚洲精品超碰热| 亚洲成网777777国产精品| 男女作爱在线播放免费网站| 日本亚洲免费无线码 | 亚洲欧洲精品成人久久曰| 亚洲精品麻豆av| 91大神在线免费观看| 亚洲成av人无码亚洲成av人| 亚洲乱色熟女一区二区三区丝袜| 在线永久免费的视频草莓| 色老头综合免费视频| 亚洲精品国产福利在线观看| 免费一级毛片在播放视频|