因为将上传的内容放入到数据库中,所以也就不方便给定一个确切的地址让浏览器来下载,希望直接通过数据流的读
取实现文件的下载,这样更加方便一些。下面我们来演示一下文件的下载代码
package oop.hg.ytu.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oop.hu.ytu.dao.DownLoadDomain;
public class DownLoad extends HttpServlet {
/**
* 实现文件的下载
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DownLoadDomain dao = new DownLoadDomain();
response.setContentType("text/html;charset=UTF-8");
// 设置为下载application/x-download
response.setContentType("application/x-download");
String fileName = request.getParameter("fileName");
fileName = new String(fileName.getBytes("ISO-8859-1"),"UTF-8");
String type = dao.getType(fileName);
type = "."+type;
type = fileName + type;
type = URLEncoder.encode(type, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename="
+ type);
InputStream in = dao.readBlob(fileName);
ServletOutputStream out = response.getOutputStream();
byte[] buff = new byte[1024];
int i = 0;
while((i = in.read(buff))>0){
out.write(buff, 0, i);
}
out.flush();
out.close();
in.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
这里主要就是下载的设置的那些头文件,请求头,还有就是下载的文件名如果含有中文,需要进行一下字符集的编码
才能够实现不乱码!
分享到:
相关推荐
程序开始运行读取配置文件,用的是jdbc链接数据库,写了几个类,用程序读取数据库中表的名字,把表里面的内容读取出来转为sql文件,仅供学习参考,禁止上传给他人
这个例子演示读取数据库中的内容并输出到文本文件(5KB)
shp文件:地理信息系统,也被称作GIS,它主要的扩展类型是SHAPEFILE (.SHP),一个包含了矢量地理空间数据的流行文件格式,描述了几何形态,点,线和多边形...该方法通过java代码实现将shp文件的数据读取以及存入数据库
用java语言实现对word表格操作,实现自动批量往数据库中插入数据,节省插入数据时间。
c# 实现的。通过配置文件config 读取数据库连接字符串,用户名密码等。通过配置文件,有利于系统的升级。
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
Java、SpringBoot实现对Excel内容的读取并将Excel内容导入到数据库中(后端篇)
C# VS2019通过 本应用程序 主要是实现 将 图片,word、excel、PDF、image等类型的文件上传至数据库,存储起来,并实现了 从数据库中将存储的文件 读取解析成 原有的文件存放至本地, 主要解决了 多个客户端可以共享...
主要给大家介绍了Spring Batch读取txt文件并写入数据库的方法,SpringBatch 是一个...这里我们用它来实现文件的读取并将读取的结果作处理,处理之后再写入数据库中的功能。需要的朋友可以参考借鉴,下面来一起看看吧。
android 读取本地.db文件,实现不变数据本地化.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
python3 实现读取数据库将结果生成Excel文件,然后将文件发送到指定邮件。
java 读取txt文本文件中的数据并保存到数据库中源代码,假设txt已有格式,并以","分隔。其中的sql包需要自己去微软官网下载。
java实现mysql数据库的表导出到excel文件,已经基本的demo包含jar包,可以导入的eclipse里面。比较好用吧
本地图片使用二进制流存储到MySQL中,然后响应前端的传参,查询后可以显示在HEML网页中,相当于图片的简单上传和显示
c# 基于vs2005 开发 CE 系统实现读取声音 连接数据库 读取配置文件,扫描一维条码等
采用C++实现access数据库中数据的读取
本人以JAVA来实现以支付宝的账单表为例,实现JAVA读取CSV..csv是一种文件格式(如.txt、.doc等),也可理解.csv文件就是一种特殊格式的纯文本文件。即是一组字符序列,字符之间已英文字符的逗号或制表符(Tab)分隔。
C#实现对压缩的DAT图像数据文件的读取,将二进制数据文件按照一定的尺寸还原为bmp图像文件,显示在界面上,同时可以实现将二进制图像保存在数据库中
把word文件转为二进制文件流存入数据库,并且实现读取的小案例
在asp.net编程中,经常遇到客户端将图片上传给数据库,同时也需要从数据库读取图片信息予以显示的需求,本文就相关问题做了一个个人总结