DROP TABLE IF EXISTS `t_song_file`
CREATE TABLE `t_song_file` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` varchar(50) DEFAULT NULL,
`file` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
package com.song.test
import java.io.File
import java.io.FileInputStream
import java.io.InputStream
import java.sql.Connection
import java.sql.PreparedStatement
import com.song.dao.DBUtil
public class InputStreamInDB {
public static void main(String[] args) throws Exception {
Connection conn=DBUtil.getConnection()
String sql="insert into t_song_file(file_name,file) values(?,?)"
PreparedStatement ps=conn.prepareStatement(sql)
ps.setString(1, "hello.zip")
ps.setBlob(2, getFileInputStream("C:/Users/songjunliang/Desktop/hello.zip"))
int tag=ps.executeUpdate()
if(1==tag)
{
System.out.println("success")
}
ps.close()
conn.close()
}
public static InputStream getFileInputStream(String filePath) throws Exception
{
File file=new File(filePath)
InputStream is=new FileInputStream(file)
return is
}
}
'如何打开并输出一个数据库中的文件流?'按普通方式打开数据库,之后求得该文件字节大小,在网页中输出该文件MIME类型,再用binarywrite输出
'之前必须将以下语句放在一个页面中,而在另一个页面对之进行调用输出显示。
Set rs = Server.CreateObject("ADODB.recordset")
sql="select * from b_hn_sgbb_rtu where sgbh='02713700001' and xh='2'"
rs.open sql,cn,1,1
'以下两句是在网页中打开WORD文档
'tu_size=rs("tu").ActualSize
'Response.ContentType = rs("types")
'Response.BinaryWrite rs("tu").getChunk(tu_size)
'以下三句是将数据库中的流文件当作一个文件,可以打开也可以下载回来
Response.ContentType = "Application/octet-stream"
tu_size=rs("tu").ActualSize
Response.AddHeader "Content-Disposition", "attachmentfilename=" &rs("filename")
Response.BinaryWrite rs("tu").getChunk(tu_size)
rs.close
'常见文件的MIME类型
'GIF文件 "image/gif"
'BMP文件 "image/bmp"
'JPG文件 "image/jpeg"
'zip文件 "application/x-zip-compressed"
'DOC文件 "application/msword"
'文本文件 "text/plain"
'HTML文件 "text/html"
'一般文件 "application/octet-stream"
当前WEB应用的物理路径:<%=application.getRealPath("/")%>当前访问的JSP文件的物理路径:<%=application.getRealPath(request.getRequestURI())%&gt
当前访问jsp文件的所在目录的物理路径:
<%
String path=application.getRealPath(request.getRequestURI())
String dir=new java.io.File(path).getParent()
out.println("dir)
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)