public void getDownLoad(String fileName, HttpServletRequest request, HttpServletResponse response) {
response.reset();
// response.setContentType("application/vnd.ms-excel;charset=utf-8");
// 设置文件下载的格式
// response.setContentType("application/x-excel");
response.setContentType("application/octet-stream");
// response.setHeader("content-disposition", "attachment;filename*=utf-8'zh_cn'" + URLEncoder.encode(fileName, "UTF-8"));
// setFileDownloadHeader(response, fileName);
String fileName2 = fileName;
try {
String userAgent = request.getHeader("User-Agent");
byte[] bytes = userAgent.contains("MSIE") ? fileName.getBytes() : fileName.getBytes("UTF-8");
// name.getBytes("UTF-8")处理safari的乱码问题
// 各浏览器基本都支持ISO编码
fileName = new String(bytes, "ISO-8859-1");
// 文件名外的双引号处理firefox的空格截断问题
response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", fileName));
//获取输入流 todo
//获取输出流
//输入流数据写入输出流
//下面是伪代码
FileInputStream inputStream = new FileInputStream(file);
//3.通过response获取ServletOutputStream对象(out)
out = response.getOutputStream();
int b = 0;
byte[] buffer = new byte[512];
while (b != -1){
b = inputStream.read(buffer);
//4.写到输出流(out)中
out.write(buffer,0,b);
}
inputStream.close();
out.close();
out.flush();
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
}
最近在学着做一个jsp+servlet的商城项目,在做的过程中使用到了一个Order实体类用于对应我数据库中的orders表,可是在查询正确的情况下报了这个错误 java.sql.SQLException: Cannot set uid: incompatible types. Query: select * from orders where uid = ? Parameters: ...
1、mac自带的bootcamp安装windows,两个系统相对独立,在开机时选择;2、用PD在mac上安装虚拟机,然后再在PD内安装windows系统,因此,两个系统可以同时运行,但是这样内存是共用的,windows系统是基于mac的虚拟机上运行的。
Overview深入理解SD卡系列文章将介绍SD卡,涉及SD卡的协议及驱动代码。我们学习SD卡目的是为了理解SD卡的驱动代码,修改它,最终解决工作中遇到的SD卡相关的问题。本系列文章的目标是理解SD,包括协议和驱动代码。在学习任何设备驱动时,有个东西我们是无法绕过的,那就是协议,本文讲的就是SD卡的协议。学习SD卡协议,可以让我们更好的了解SD卡的运作机制。在最开始学习SD卡的时候,我们只...
GameRes游资网授权发布 文 / 杨漱玉青 Behaviour Tree的AI模块现在被很多地方所采用,前段时间自己实现了一个AI套件在Unity,中间也遇到了不少坑,现在来总结一下心得。 网上有很多行为树AI的介绍和实现,在这就不重复了。 更新频率过快导致的行为表现异常 行为树模块需要周期性的更新,先说说连续几个周期存在的问题。如果这个周期满足条件是Actor A走到Act...
截取“,”逗号前面字符,赋值集合中
Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。Label:每个 JMeter 的 element(例如 ...
收发室第一关是引导关,非常简单,要做的事情就是把输入的内容原封不动的输出。可用的指令只有INBOX和OUTBOX-- HUMAN RESOURCE MACHINE PROGRAM -- INBOX OUTBOX INBOX OUTBOX INBOX OUTBOX ...
SQL语句中计算百分比 A.TOTAL_COUNT TOTALCOUNT, A..QUES_COUNT QUESCOUNT, CASEWHEN TOTAL_COUNT = QUES_COUNTTHEN '100%'ELSE TO_CHAR((ROUND(QUES_COUNT / DECODE(TOTAL_COUNT, 0, 1, TOTAL_COUNT), 4)
Hadoop完全分布式中的概念在Hadoop完全分布式的安装配置中,可以配置多个Namenode(两个)形成互为热备的状态,解决Namenode单节点故障的问题两个Namenode直接通过JN集群来共享数据,基本原理和Zookeeper类似,处于Active状态的Namenode通过将元数据的更新发送给大部分JN机器,保证只要JN集群大部分的机器存活,处于StandBy状态的Nameno...
linkname libhello.sosoname libhello.so.1realname libhello.so.1.1......
1 介绍2 细节2.1 执行程序只能唯一执行使用QShareMemory创建共享内存2.2 类声明代替头文件若头文件中没有创建某个类的对象,可以不写 #include <类名&amp
在OSG中,默认了6个裁剪平面以去除没有必要显示的物体。也可以自己定义其他的裁剪平面来确定裁剪。 osg::ClipPlane类继承自osg::StateAttribute类,封装了OpenGL中的glClipPlane()函数。 在类的成员函数中,设置裁剪平面的有下面几个函数:void setClipPlane(const Plane &plane)voi...