如何下载MySQL';使用servlet和AJAX的BLOB?
我正在使用servlet访问MySQL数据。我已经有了将文件从servlet发送到响应的代码 我不知道我是如何用javascript捕获它的,因为我不是通过提交来调用它的。我不想重新加载洞页面如何下载MySQL';使用servlet和AJAX的BLOB?,mysql,ajax,servlets,blob,Mysql,Ajax,Servlets,Blob,我正在使用servlet访问MySQL数据。我已经有了将文件从servlet发送到响应的代码 我不知道我是如何用javascript捕获它的,因为我不是通过提交来调用它的。我不想重新加载洞页面 我尝试创建一个窗口。打开servlet,通过URL发送所有参数,但它只打开一个空白页。好的,要下载文件,我只需查询blob文件,然后: try{ ServletOutputStream output = response.getOutputStream(); stmt = (Stateme
我尝试创建一个窗口。打开servlet,通过URL发送所有参数,但它只打开一个空白页。好的,要下载文件,我只需查询blob文件,然后:
try{
ServletOutputStream output = response.getOutputStream();
stmt = (Statement) c.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
fl = (Blob) rs.getBlob(1);
} else {
System.out.println("No se pudo descargar el archivo");
}
InputStream in = fl.getBinaryStream();
int length = (int) fl.length();
response.reset();
//response.setContentType("multipart/mixed");
//if(rs.getString(3).toLowerCase().equals("mp3") || rs.getString(3).toLowerCase().equals("mpeg"))
response.setContentType(getMime(rs.getString(2)));
response.setHeader("Content-Length: ",Integer.toString(length));
response.setHeader("Content-disposition","attachment; filename=" + rs.getString(2));
byte[] buf = new byte[1024];
while ((length = in.read(buf)) > 0){
output.write(buf, 0, length);
}
output.close();
in.close();
rs.close();
}catch(Exception e){
e.printStackTrace();
}
好的,要下载该文件,我只需查询blob文件,然后:
try{
ServletOutputStream output = response.getOutputStream();
stmt = (Statement) c.createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
fl = (Blob) rs.getBlob(1);
} else {
System.out.println("No se pudo descargar el archivo");
}
InputStream in = fl.getBinaryStream();
int length = (int) fl.length();
response.reset();
//response.setContentType("multipart/mixed");
//if(rs.getString(3).toLowerCase().equals("mp3") || rs.getString(3).toLowerCase().equals("mpeg"))
response.setContentType(getMime(rs.getString(2)));
response.setHeader("Content-Length: ",Integer.toString(length));
response.setHeader("Content-disposition","attachment; filename=" + rs.getString(2));
byte[] buf = new byte[1024];
while ((length = in.read(buf)) > 0){
output.write(buf, 0, length);
}
output.close();
in.close();
rs.close();
}catch(Exception e){
e.printStackTrace();
}
你能发布你的javascript代码让我看到你的错误在哪里吗?你能发布你的javascript代码让我看到你的错误在哪里吗?