<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    魔獸傳奇

    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

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


    網站導航:
     
    主站蜘蛛池模板: 最近中文字幕2019高清免费| 免费人成网站永久| 免费无遮挡无码永久视频| 久久亚洲精品中文字幕三区| 久久国产乱子伦精品免费午夜| 亚洲人成网77777亚洲色| 久久WWW免费人成—看片| 亚洲人成网站在线播放vr | 国产精品美女久久久免费| 三上悠亚亚洲一区高清| 久久国产精品成人免费| 99亚洲精品高清一二区| 无码国产精品一区二区免费式直播 | 美女扒开尿口给男人爽免费视频| 又黄又大又爽免费视频| 国产伦精品一区二区免费| 亚洲国产精品一区二区久久hs| 十九岁在线观看免费完整版电影| 亚洲日韩中文字幕天堂不卡| 成年女人毛片免费观看97| 暖暖免费中文在线日本| 亚洲国产日韩在线视频| 国产精品成人观看视频免费| 亚洲色大成网站www尤物| 亚洲国产成人久久精品99| 日本免费高清视频| 亚洲欧洲无码AV不卡在线| 亚洲精品无码久久毛片| 99久久综合精品免费| 亚洲欧美不卡高清在线| 亚洲国产精品乱码一区二区| 国产精品成人免费视频网站京东 | 亚洲成无码人在线观看| 亚洲?v无码国产在丝袜线观看| 久久国产精品成人免费| 亚洲人成色99999在线观看| 在线播放亚洲第一字幕| 日本亚洲免费无线码| eeuss影院ss奇兵免费com| 久久久久亚洲国产| 久久精品国产亚洲网站|