魔獸傳奇

          java程序愛好者
          posts - 28, comments - 16, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            最近使用jsp連接數據庫,插入圖片,遇到了點難題,希望高手能幫我解決!
             問題1:我想控制輸入圖片的類型,如只允許插入.bmp , .jpeg 或者 .gif類型的圖片(在程序中判斷,如果是這三種類型中的某一種,則可插入數據庫)。
             問題2:我的圖片名稱是中文的,我要通過什么方法才能將其轉換成二進制插入數據庫(如果是英文名稱或其他非中文可插入數據庫(已測試),而是中文的圖片名稱則拋出異常)

          1.數據庫:denglu   ,用戶名: sa  密碼: sa
               表sql: CREATE TABLE [dbo].[picturenews] (
          [id] [int] IDENTITY (1, 1) NOT NULL ,
          [image] [image] NULL ,
          [content] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
          [detail] [varchar] (5000) COLLATE Chinese_PRC_CI_AS NULL
          ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
           2.test.jsp頁面,前臺圖片的輸入
          <HTML>
          <HEAD>
          <TITLE>存儲圖片</TITLE>
          </HEAD>
          <body>
          <!-- 下面的窗體將以Post方法,將數據傳遞給testimage.jsp文件 -->
          <FORM METHOD=POST ACTION="testimage.jsp">
          新 聞 標 題:<INPUT TYPE="text" NAME="content"><BR>
          新 聞 圖 片:<INPUT TYPE="file" NAME="image"><BR>
          新聞內容:
          <TEXTAREA name="txtmail" rows="15" cols="90"
          style="BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid;
          BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt;
          HEIGHT: 200px; WIDTH: 100%" wrap="physical" ></TEXTAREA><br>
          <INPUT TYPE="submit"></form>
          </body>
          </HTML>
          3.testimage.jsp文件是用來將圖片數據存入數據庫中。
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*" %>
          <%@ page import="java.util.*"%>
          <%@ page import="java.text.*"%>
          <%@ page import="java.io.*"%>
          <html>
          <body>
          <%
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          //加載驅動程序類
          Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
          //建立數據庫聯機,其中denglu為數據庫名,sa為連接數據庫的帳號及密碼。
          Statement stmt=con.createStatement();
          //建立Statement對象
          String content=request.getParameter("content");
          content=new String(content.getBytes("8859_1"),"gb2312");
          String filename=request.getParameter("image");
          filename=new String(filename.getBytes("8859_1"),"gb2312");
          String detail=request.getParameter("txtmail");
          detail=new String(detail.getBytes("8859_1"),"gb2312");
          //獲得所要顯示圖片的標題、存儲路徑、內容,并進行中文編碼
          FileInputStream str=new FileInputStream(filename);
          String sql="insert into picturenews(content,image,detail) values(?,?,?)";
          PreparedStatement pstmt=con.prepareStatement(sql);
          pstmt.setString(1,content);
          pstmt.setBinaryStream(2,str,str.available());
          pstmt.setString(3,detail);
          pstmt.execute();
          //將數據存入數據庫
          out.println("Success,You Have Insert an Image Successfully");
          %>


          評論

          # re: jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2008-01-03 10:49 by Jeff Lau
          可能是字符編碼的問題。你把所有的gb2312改成utf-8試試。

          # jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2008-01-03 13:55 by 龍旋風
          我上面的方法是將圖片轉換成二進制碼的形式存在數據庫中,但是如果是中文的圖片名稱就不行,Jeff Lau 你的意思是不是轉換編碼格式:
          String filename=request.getParameter("image");
          filename=new String(filename.getBytes("8859_1"),"UTF-8");
          是這樣嗎??

          # re: jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2008-01-08 20:55 by jackiesmith
          已經驗證,將編碼轉換成utf-8,沒有用

          # re: jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2008-01-08 20:55 by jackiesmith
          信息: Server startup in 2125 ms
          數據庫插入出錯!D:\????.jpg (系統找不到指定的文件。)
          數據庫插入出錯!D:\????.jpg (系統找不到指定的文件。)

          # re: jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2008-04-02 12:45 by jackiesmith
          是字符編碼的問題,將字符轉化成iso-9001就可以了,問題已解決謝謝各位高手!

          # re: jsp保存圖片到數據庫與顯示問題!求助!  回復  更多評論   

          2012-06-08 15:46 by 585
          8451

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 体育| 辛集市| 绥阳县| 田东县| 固始县| 利川市| 和硕县| 高阳县| 凉山| 土默特右旗| 鲁甸县| 中宁县| 濮阳县| 亳州市| 大安市| 康乐县| 吴川市| 福建省| 重庆市| 隆安县| 乐平市| 吉木乃县| 正阳县| 禄劝| 响水县| 揭阳市| 鄂托克旗| 苍梧县| 大埔县| 宾阳县| 丰都县| 江口县| 白朗县| 澄迈县| 双峰县| 九江市| 涞源县| 柯坪县| 驻马店市| 霍山县| 苗栗县|