1: excel导出时中文名乱码 (String. (.getBytes "文件名" "GBK") "iso8859-1"),需要把中文名编码转化成iso8859-1编码的
---------转别人的
使用servlet来下载文件,其原理非常简单,只要得到文件的输入流(或相应字节),然后写输出流即可。现就其中的几个细节问题展开:
1. MIME类型的设置:
Web 浏览器使用 MIME 类型来识别非 HTML 文档,并决定如何显示该文档内的数据。
例如EXCEL文件的 MIME 类型是 "application/vnd.ms-excel "。要用servlet 来打开一个 EXCEL 文档,需要将 response 对象中 header 的 contentType 设置成“application/vnd.ms-excel ”。
response.setContentType(contentType);
2. Content disposition
HTTP response header中的content-disposition 允许 servlet 指定文档表示的信息。使用这种header ,你就可以将文档指定成单独打开(而不是在浏览器中打开),还可以根据用户的操作来显示。
如果用户要保存文档,你还可以为该文档建议一个文件名。这个建议名称会出现在 Save As 对话框的“文件名”栏中。如果没有指定,则对话框中就会出现 servlet 的名字。
servlet 中,将 header 设置成下面这样:
response.setHeader("Content-disposition","attachment;filename="+ "Example.xls" );
response.setHeader("Content-Disposition", "inline; filename="fliename)
点击打开会在ie中打开。
需要说明的有三点:
Ø 中文文件名需要进行iso8859-1转码方可正确显示:
fileName = new String(fileName.getBytes("GBK"),"iso8859-1");
Ø 传递的文件名,需要包含后缀名(如果此文件有后缀名),否则丢失文件的属性,而不能自行选择相关程序打开。
Ø 有下载前询问(是打开文件还是保存到计算机)和通过IE浏览器直接选择相关应用程序插件打开两种方式,前者如上代码所示,后者如下:
response.setHeader("Content-disposition","filename="+ "Example.xls" );
分享到:
相关推荐
工作杂记-YUV的dump和read
Vue.js 是一款轻量级的前端JavaScript框架,由尤雨溪开发并维护,因其易学易用、组件化开发和高性能的特点,在Web开发领域中广受欢迎。本资源包中的"Vue-dev-note-master1"可能包含了关于Vue开发的笔记、教程、示例...
// 获取userAgent// 是否是ie// 是否是IE9// 是否是edge浏览器// 是否是android浏览器// 是否是ios// 是否是谷歌浏览器
Mac 下编译 Linux 和 Windows 64位可执行程序Linux 下编译 Mac 和 Windows 64位可执行程序Windows 下编译 Mac
作者:hazer,时间:2019-6-28杂记-47-杂记-46-杂记-45-杂记-44-杂记-35- 内置简介:github readme自动生成工具作者:hazer,时间:2019-6-27杂记-33-杂记-32-杂记-31-杂记-30-杂记-29- 杂记-28- 杂记-27-杂记-26-...
序: 编程10年了,感觉有些空虚。不敢称大牛,只能说是一个老鸟。有时候查资料也感觉比较麻烦。想想如果自己能写一些东西,然后查找起来应该会很快,这样对自己也是一个帮助,也希望能帮助到其他人。...
### 计算机基础知识知识点概览 ...它使用一系列的元素来构建页面结构和内容,如段落、链接、图片等。 - **特点**: - 结构清晰:通过标签来定义网页的不同组成部分。 - 跨平台性:可以在不同的操作系统和浏览器上...
《Oracle 9i杂记——探索PLSQL的世界》 Oracle 9i,作为Oracle数据库的一个重要版本,引入了许多新特性和改进,其中PL/SQL(Procedural Language/Structured Query Language)是其核心组成部分,是一种结合了SQL和...
oracle杂记.doc 这是我个人的总结。 主要是oracle的编程以及体系结构的理解。
### JBoss配置杂记知识点详解 #### 一、配置JBoss以80端口服务 在JBoss配置中,若想让JBoss监听在标准的HTTP端口80上,而不是默认的8080,需要对配置文件进行相应的修改。具体步骤如下: 1. **定位配置文件**:...
### 互联网杂记(三)知识点总结 #### 1. 流程简单化与用户体验优化 - **背景**: 在互联网产品的设计中,用户体验至关重要。**流程简单化**被视为提升用户体验的有效方式之一。 - **核心思想**: “让用户尽快离开”...
7. **`std::string`杂记**: - `std::string`是C++标准库中的字符串类,它支持动态增长和收缩,提供了丰富的成员函数来处理字符串。 - `std::string`的特性包括但不限于:插入、删除、查找、替换、比较、格式化等...
### Linux操作杂记 在日常使用Linux的过程中,我们经常会遇到各种各样的问题,也需要掌握一些基本的操作技巧来提高工作效率。本文将围绕“liunx操作杂记”这一主题,总结并详细解释一些实用的命令和技巧,包括但不...
### 单片机C语言学习杂记 #### 一、单片机与C语言简介 在电子技术领域,单片机是一种集成了微处理器、存储器以及多种输入输出接口的微型计算机系统。51单片机是基于MCS-51架构的一种广泛使用的单片机型。由于其...
《FORTRAN 90 and FORTRAN 95 Notes》读书笔记 FORTRAN 90(也被称为FORTRAN 95)是一种高级编程语言,尤其适用于科学计算和工程领域。它在FORTRAN 77的基础上引入了许多增强功能,提高了代码的可读性、可维护性...
【数据库设计基础与PowerDesigner应用】 数据库设计是IT领域中至关重要的部分,它涉及概念设计、逻辑设计和物理设计等多个阶段。在概念设计阶段,我们主要关注实体、属性和联系集,这些都是构建数据库模型的基础...
在北师大版小学六年级下册语文的教案《乐趣 山中杂记》中,学生将跟随冰心的脚步,进入一个充满自然之美的山中世界,体验作者与动物之间和谐相处的乐趣,以及她对这些动物的深厚感情。这篇课文不仅向学生们展现了...
第14章 Pythonic与Python杂记.mp4
Android平台搭建对于初入Android开发领域的新手来说是一项基础但至关重要的工作。本文将详细介绍如何在Windows环境下搭建一个完整的Android开发环境,包括Eclipse、NDK、JDK和SDK,并通过创建一个SO库实例来帮助理解...
李特伍德的《一个数学家的杂记》是一本收录了作者关于数学、教育以及个人观点文章的集合。这本杂记以数学为主题,涉及的内容包括几何、概率论、数论以及历史上的数学发现等。李特伍德在书中讨论了数学知识与日常生活...