日期:2014-05-17  浏览次数:20827 次

附件上传打开没内容

DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
List fileList = null;
try{
fileList = upload.parseRequest(request);
}catch(FileUploadException ex){
return;
}
Iterator<FileItem> it = fileList.iterator();
while(it.hasNext()){
FileItem item = it.next();
if(!item.isFormField()){
                            try{
InputStream in  = item.getInputStream();
int length = (int)item.getSize();
byte[] b = new byte[length]; 
in.read(b, 0, length);
                                        insert into table(id,image)values(1,b);
}catch(Exception e){
e.printStackTrace();


现在是东西存数据库的image字段里了,但是下载下来里面没内容,存b和存in 都是一个效果
------解决方案--------------------
为什么要把文件流存到数据库里呢?虽然数据库也有clob类型的字段但是你这样肯定不对啊。一般都是把文件保存到服务器或者ftp服务器,然后把路径名称写入数据库字段。
------解决方案--------------------
还是存磁盘吧数据库就存个路径即可
------解决方案--------------------
楼上的是正确的方法,不过你的问题是 要将流转为 byte数组再往数据库存
------解决方案--------------------
存路径方便 。