jsp如何实现文件从数据库下载弹出对话框,通过上一页传入的文件ID想数据库查询,下载显示对话框选择路径.
我是以流的形式将文件出入数据库中的数据库中有idfilename(文件名)filedata(二进制文件)我通过第一个jsp页面点击下载按钮将文件的ID,filename传...
我是以流的形式将文件出入数据库中的 数据库中有id filename(文件名) filedata(二进制文件)我通过第一个jsp页面点击下载按钮将文件的ID,filename传入到后台.
我现在想 通过我传的ID,filename从数据查询出filedata并将他下载下来,点击下载是显示一个保存路径的对话框,可以选择保存路径
我做了一个不弹出对话框 直接将文件保存到C盘上了
int softid=Integer.parseInt(request.getParameter("softid"));
String softfilename=request.getParameter("softfilename");
String sql="select * from softinfo where softid="+softid;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int bytesum=0;
int byteread=0;
if(rs.next()){
//将数据库中的数据读到流中
InputStream inStream=rs.getBinaryStream("softfiledata");
FileOutputStream fs=new FileOutputStream( "c:/"+softfilename);
byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println("<DT><B>您下载的文件成功下载到C盘!!!"+byteread+"</B></DT>");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
}希望高手帮忙 展开
我现在想 通过我传的ID,filename从数据查询出filedata并将他下载下来,点击下载是显示一个保存路径的对话框,可以选择保存路径
我做了一个不弹出对话框 直接将文件保存到C盘上了
int softid=Integer.parseInt(request.getParameter("softid"));
String softfilename=request.getParameter("softfilename");
String sql="select * from softinfo where softid="+softid;
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
int bytesum=0;
int byteread=0;
if(rs.next()){
//将数据库中的数据读到流中
InputStream inStream=rs.getBinaryStream("softfiledata");
FileOutputStream fs=new FileOutputStream( "c:/"+softfilename);
byte[] buffer =new byte[1444];
int length;
while ((byteread=inStream.read(buffer))!=-1)
{
out.println("<DT><B>您下载的文件成功下载到C盘!!!"+byteread+"</B></DT>");
bytesum+=byteread;
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
}希望高手帮忙 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询