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

    評論:
    # re: java sql server 2000存取圖片 2010-07-13 21:28 | as
    謝謝你   回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: 国产女高清在线看免费观看 | 4338×亚洲全国最大色成网站| 亚洲免费电影网站| 在线观看永久免费| 亚洲综合激情另类小说区| 麻豆成人久久精品二区三区免费 | 国产亚洲精品激情都市| j8又粗又长又硬又爽免费视频| 亚洲国产一级在线观看| 一区二区三区免费视频播放器| 中文字幕亚洲不卡在线亚瑟| 久久国产乱子伦精品免费午夜| 亚洲精品自在在线观看| 免费国产污网站在线观看| 久久香蕉国产线看观看亚洲片| 久久久久久久99精品免费| 十八禁在线观看视频播放免费| 亚洲精品成人网站在线观看 | 91精品免费国产高清在线| 亚洲国产视频久久| 日韩精品成人亚洲专区| 中文字幕免费在线看| 亚洲色图黄色小说| 免费精品一区二区三区在线观看| 美女的胸又黄又www网站免费| 亚洲国产另类久久久精品黑人| 99视频免费观看| 亚洲日本一线产区和二线| 亚洲精品国产日韩无码AV永久免费网| 国产免费久久精品丫丫| 亚洲AV人人澡人人爽人人夜夜| av无码久久久久不卡免费网站| 风间由美在线亚洲一区| 亚洲人成网站在线播放vr| 人人揉揉香蕉大免费不卡| 亚洲午夜精品国产电影在线观看| 免费看大黄高清网站视频在线| 久久久免费观成人影院| 亚洲特级aaaaaa毛片| 免费观看四虎精品国产永久| 午夜不卡久久精品无码免费|