问题描述
数据库里有image字段里面存放着excel的二进制文件需要取出来放到tomcatweb工程里的down文件夹下然后通过前台提供下载希望大神们赐予我代码,麻烦了,弄了两天都没弄明白
解决方案
解决方案二:
补充下文件大约十几M的样子不算小也不算大
解决方案三:
从书库读取都是一样的嘛~~select呗!提供下载那就直接用struts2的下载!!!
解决方案四:
关键中间有个二进制流的转换过程我搞不明白啊引用2楼gavin_ts的回复:
从书库读取都是一样的嘛~~select呗!提供下载那就直接用struts2的下载!!!
解决方案五:
顶一下求代码
解决方案六:
packagecom.test;importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStream;importjava.sql.Blob;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importcom.util.DButil;publicclassDownImpl{privateConnectionconn;DButildb=newDButil();publicDownBeanfind(){try{conn=db.openConnection();Stringsql="select试验文件from试验数据where试验ID=5";PreparedStatementpstat=conn.prepareStatement(sql);ResultSetrs=pstat.executeQuery();while(rs.next()){//Blobblob=(Blob)rs.getBlob(1);InputStreamin=rs.getBinaryStream(1);FileOutputStreamout=newFileOutputStream(newFile("c://11.xls"));byte[]bb=newbyte[51200000];inti;while((i=in.read(bb))!=-1){out.write(bb);}out.close();in.close();}conn.commit();}catch(Exceptione){//TODOAuto-generatedcatchblock("试验文件")e.printStackTrace();}finally{try{conn.close();}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}returnnull;}}
我这块的代码会固定生成byte[51200000]大的.xls文件,但里面没有内容求解答
解决方案七:
同问,现在读出来的数据都是乱码来的。现在只是知道这里存有数据是excel文件,不过不知道是怎么被存进去的,不知道该怎么解决这个问题。