web应用中把上传文件保存到数据库的优点

web应用中把上传文件保存到数据库的优点,第1张

web应用中把上传文件保存到数据库的优点是方便管理。

性能不会损耗太大,速度也比其他数据库快,且专门存储电影、图片等内容。

据说香港的马会录象全部是存储的。

1在你的struts-config中首先不能使用form,使用的话会报错

2在你jsp的form中增加属性enctype="multipart/form-data"

这样你的文件内容会被都城二进制数据传到后台,在后台获取值保存及可以了

文件上传到数据库请参考以下示例:

<%@ page contentType="text/htmlcharset=gb2312"%>

<%@ page language="java" import="java.sql.*" %>

<%/////连接数据库

java.sql.Connection conn

java.sql.Statement stmt

java.sql.ResultSet rs1

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

conn=DriverManager.getConnection("jdbc:odbc:dababasename")///数据源

stmt=conn.createStatement()

%>

<%

String sqlin="insert into drawing values

File file = new File("c:/z.jpg")

long l1=file.length()

int l2=(int)l1

FileInputStream is = new FileInputStream(file)

InputStream fis=(InputStream)is

PreparedStatement ps = conn.prepareStatement("insert into images values (?,?)")

ps.setString(1,file.getName())

ps.setBinaryStream(2,fis,file.length())

ps.executeUpdate()

ps.close()

fis.close()

//将图片从数据库中提取,进行显示

//drawing字段为IMAGE类型

stmt = conn.createStatement()

rs1 = stmt.executeQuery("SELECT * FROM drawing WHERE drawing_code ='0-515' and version=3")

if (rs1.next())

{

String dim_image = rs1.getString("file_name")

byte [] blocco = rs1.getBytes("drawing")

response.setContentType("image/jpeg")

ServletOutputStream op = response.getOutputStream()

for(int i=0i<blocco.lengthi++)

{

op.write(blocco[i])

}

}

rs1.close()

%>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9650700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存