<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
    主站蜘蛛池模板: 天天看免费高清影视| 国产乱辈通伦影片在线播放亚洲| 亚洲日本在线电影| 亚洲无码精品浪潮| 18禁免费无码无遮挡不卡网站| 亚洲av无码专区国产不乱码| 国产亚洲精品拍拍拍拍拍| 999久久久免费精品国产| 羞羞漫画页面免费入口欢迎你| 亚洲成a人片77777老司机| 成人超污免费网站在线看| 最近中文字幕免费大全| 亚洲av片不卡无码久久| 国产亚洲精品拍拍拍拍拍| 成年大片免费视频| 在线观看免费无码专区| 亚洲国产精品ⅴa在线观看| 亚洲国产精品无码久久久蜜芽| 成人无遮挡毛片免费看| 日韩免费观看一区| 黄色三级三级三级免费看| 亚洲欧洲日产国码在线观看| 国产亚洲?V无码?V男人的天堂| 最近最新的免费中文字幕| 免费国产99久久久香蕉| 美女扒开屁股让男人桶爽免费| 亚洲视频精品在线观看| 中文字幕亚洲激情| 欧洲精品成人免费视频在线观看 | 91视频精品全国免费观看| 亚洲欧美日韩国产成人| 亚洲欧洲在线观看| 红杏亚洲影院一区二区三区| 性色av免费观看| 亚洲免费福利视频| 免费高清国产视频| 色www永久免费| xxxxx做受大片在线观看免费| 亚洲国产成人精品无码区花野真一| 久久久久久亚洲精品成人| 国产亚洲人成网站在线观看不卡|