本文目錄一覽:
- 1、jsp中 怎麼把圖片直接存入資料庫中,最好有例子
- 2、在JSP中怎樣將圖片上傳到資料庫中
- 3、我怎麼用jsp技術將圖片存到資料庫中去呀??
- 4、用jsp、java實現上傳圖片,保存到資料庫,從資料庫中提取,顯示到頁面 這四步 我想問第一步,怎麼上傳圖片
- 5、java如何將圖片保存在資料庫中
jsp中 怎麼把圖片直接存入資料庫中,最好有例子
….首先..可以選擇Apache裡面的upload包….這個是把文件傳到伺服器上的上傳組件….然後是存到資料庫里….那就要看你什麼資料庫了….比如Oracle..就是Blob至Access…就是
對象
欄位….存取方法都是不一樣的..要分別對待
有個通用方法,你找到圖片文件之後,建立輸入流,然後創建bytearrayoutputstream,然後從輸入流中讀位元組到後面那個流中,並沖它裡面產生位元組數組保存到byte欄位中
其實建議你不要將圖片直接上傳到資料庫
圖片上傳到資料庫要用到
blob大對象(以oracle為例),這樣影響程序性能,你可以將圖片上傳到指定文件夾,同時將圖片保存的路徑+文件名上傳到資料庫,要顯示就讀取這個這個路徑找到圖片,然後顯示.剛做了個這個代碼
在JSP中怎樣將圖片上傳到資料庫中
到資料庫?
你可以建一個文件夾來保存上傳的圖片,
然後將圖片的文件名保存到資料庫中。
要用的時候在根據圖片的文件名到該文件夾下面去讀取顯示出來
我怎麼用jsp技術將圖片存到資料庫中去呀??
%@ page contentType=”text/html;charset=gb2312″%
%@ page import=”java.sql.*”%
%@page import=”java.io.*” %
%@page import=”java.util.*” %
%@ page import = “database_connection.sun_wap_refresh_conn” %
jsp:useBean id=”myconn1″ class=”database_connection.sun_wap_refresh_conn” scope=”session”/jsp:setProperty name=”myconn1″ property=”*”/
%//上一行的 jsp:useBean id=”myconn11″ id 不能有重複
myconn1.getConn();
CallableStatement cstmt=null;
Statement stmt=myconn1.conn.createStatement();
String url=””;
String flag=””;
String procedure=””;
String id=””;
url=request.getParameter(“url”);
flag=request.getParameter(“flag”);
id=request.getParameter(“id”);
ResultSet rs=null;
if(flag!=null){
if(flag.compareTo(“add”)==0){
BufferedInputStream data;
BufferedInputStream is;
int FormSize;
byte[] bb;
byte t;
String image=””;
data=new BufferedInputStream(request.getInputStream());
FormSize=request.getContentLength();
int i=0,start1=0,start2=0,_start1=0,_start2=0;
String temp=””;
String _temp=””;
String boundary=””;
is=new BufferedInputStream(data);
bb=new byte[FormSize];
while (iFormSize)
{
t=(byte)is.read();
bb[i]=t;
i++;
}
is.close();
temp=new String(bb,”ISO8859_1″);
_temp=temp;
_start1=_temp.indexOf(“boundary=”);
_temp=_temp.substring(_start1+9);
_start2=_temp.indexOf(“\r\n”);
boundary=_temp.substring(0,_start2);
_start1=_temp.indexOf(boundary);
_temp=_temp.substring(_start1+boundary.length());
_start1=_temp.indexOf(boundary);
image=_temp.substring(0,_start1);
_temp=_temp.substring(_start1+boundary.length());
_start1=image.indexOf(“\r\n\r\n”);
_start2=image.lastIndexOf(“\r\n”);
image=image.substring(_start1+4,_start2);
//out.println(“username:”+username+”bralt_name:”+alt_name+”brlevel:”+level+”brimage:”+image);
procedure=”{call sun_insert_ad_pic_image(?,?)}”;
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setString(1,url);
cstmt.setBytes(2,image.getBytes(“ISO8859_1”));
cstmt.executeUpdate();
}
if(flag.compareTo(“del”)==0){
procedure=”{call sun_delete_ad_pic_image(?)}”;
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setInt(1,Integer.parseInt(id));
cstmt.executeUpdate();
}
}
procedure=”{call sun_select_ad_pic_image(?)}”;
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setString(1,url);
rs=cstmt.executeQuery();
%
script language=”javascript”
function del(id){
location.replace(“edit_keyword_pic.jsp?flag=delurl=%=url%id=”+id);
}
/script
table width=”100%” border=”0″ cellpadding=”0″ cellspacing=”1″ bgcolor=”#B6EF07″
tr
td width=”20%” bgcolor=”#FFFFFF”ID/td
td width=”60%” bgcolor=”#FFFFFF”圖片/td
td width=”20%” bgcolor=”#FFFFFF”操作/td
/tr
%while(rs.next()){
String _id=rs.getString(“id”);
%
tr
td width=”20%” bgcolor=”#FFFFFF”%=_id%/td
td width=”60%” bgcolor=”#FFFFFF”img src=”wc1.jsp?id=%=_id%”/td
td width=”20%” bgcolor=”#FFFFFF”input type=”button” onclick=”del(‘%=_id%’)” value=”刪除”/td
/tr
%}%
/table
form name=”form1″ action=”edit_keyword_pic.jsp?flag=addurl=%=url%” method=”post” enctype=”multipart/form-data”
input type=file name=”image”input type=”submit” value=”上傳”
/form
用jsp、java實現上傳圖片,保存到資料庫,從資料庫中提取,顯示到頁面 這四步 我想問第一步,怎麼上傳圖片
用jspSmartUpload組件來實現,用jsp+servlet在Servlet里實現的代碼:
PrintWriter out = response.getWriter();
int count = 0;
// 實例化上傳控制項對象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 設置上傳文件最大位元組數
su.setTotalMaxFileSize(100000);
//
try {
//禁止上傳指定擴展名的文件
su.setDeniedFilesList(“ext,bat,jsp”);
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
// 上傳文件到伺服器
su.upload();
File fileup = new File(request.getRealPath(“upload”));
if(!fileup.exists()){
// 創建目錄
fileup.mkdir();
}
// 處理多個文件的上傳
for(int i = 0;i su.getFiles().getCount();i++){
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if(!file.isMissing()){ // 如果文件有效
// 保存文件到指定上傳目錄
file.saveAs(“/upload/new.”+file.getFileExt(), su.SAVE_VIRTUAL);
count = su.save(“/upload”);
}
}
} catch (SmartUploadException e) {
e.printStackTrace();
}
out.println(count +”file(s) uploaded”);
如果你對這個上傳組件不了解,最好是先去查查用法。。。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
java如何將圖片保存在資料庫中
一般都是這樣的,就是在你伺服器有一個專門放置圖片的文件夾,然後資料庫保存的是你伺服器圖片的路徑。需要用的時候就去資料庫裡面取路徑。得到路徑以後你想怎麼處理圖片是你的事情了。
至於如何去資料庫取路徑這個就是簡單的db操作。
載入驅動類:
Class.forName(DBDriver);
獲取連接:
Connection conn = DriverManager.getConnection(url,username,password);
創建操作對象:
PreparedStatement stmt = con.prepareStatement(sql);
執行操作:
ResultSet rs = stmt.executeQuery();
遍歷結果:
List list = new ArrayList();
while(rs.next()){
//具體操作,通常用rs.getString(name)取值
Image img = new Image();//圖片類對應你資料庫中圖片表格
img.setSrc(rs.getString(“src”));//假設你資料庫中image表中圖片地址欄位是src
list.add(img);
}
記得關閉資源:
rs.close();
stmt.close();
con.close();
看你的意思是已經取出來了不知道怎麼顯示:
你取出來之後可以把圖片放在一個list裡面然後去頁面上遍歷這個list
c:forEach var=”chakan1″ items=”list”
tr
td
img src=”${chakan1.src}”/
/td
/tr
/c:forEach
大致應該是這樣
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127679.html