领导要求写个页面,功能为:本页面数据保存为Word文档,提供个用户下载。
---
转换Word文档,采用java2word 。
--
下载用io流,但,下载的文件内容乱码。
--
最好,采用document.location=".../documentfile/**.doc" (直接定位到文件)。
此方法,下载下来的文件没有乱码。
可是,在有的机器上是直接在新页面打开了。而不是,弹出对话框下载。
---
======================
想问:
1、io流,文件内容乱码,什么原因造成的呢,怎么解决呢?
--
2、直接指向文件下载。是浏览器的功能么?还是HTTP协议的预定义? 此方法导致在新页面打开是浏览器的设置问题么,那么,可以通过代码改变浏览器的设置吗?
---
转换Word文档,采用java2word 。
--
下载用io流,但,下载的文件内容乱码。
--
最好,采用document.location=".../documentfile/**.doc" (直接定位到文件)。
此方法,下载下来的文件没有乱码。
可是,在有的机器上是直接在新页面打开了。而不是,弹出对话框下载。
---
======================
想问:
1、io流,文件内容乱码,什么原因造成的呢,怎么解决呢?
--
2、直接指向文件下载。是浏览器的功能么?还是HTTP协议的预定义? 此方法导致在新页面打开是浏览器的设置问题么,那么,可以通过代码改变浏览器的设置吗?
解决方案 »
- hibernate一对多映射问题,求解释
- 急求!在输入框输入两个数字搜索价格区间内的商品
- ant.jar使用java.lang.Error: Unresolved compilation problems:
- 大家有没有遇到过这样的问题啊?
- EntityBean的问题``困惑``望大虾指点
- jpa比较密码怎么办
- JAVA 数组问题 急 !! 在线等啊!!
- jms 问题
- 谁能给我一个简单的EJB例了
- <mastering jakarta struts>中对struts-html.tld文件,怎么整本书也没有一个完整的解释与示例?
- struts1.2配制spring1.2报错
- Flex工程文件里面的Flex sever和Flex build path设置问题
http://www.mydigitallife.info/2007/06/15/disable-automatic-opening-or-saving-of-downloads-re-enable-always-ask-before-check-box/
Document doc = new Document();
doc.newDoc(...);
doc.insertAtBook(...);
....
它用的什么字符集不知道。在服务器上是没有乱码的。
从服务器下载下来到本机就乱码了。
====
1、2、3楼,都说用utf-8。
io操作,字节流里有可以指定字符集的API吗? 字符流的有,可是我操作了几次,结果是,空白。我有finally中close啊,虽然没有flush 。
---
一直分不清楚:
读取文件时,一个字节一个字节的读取,转换时,按几个字节转换?? 英文一个字节就可以代表,中文三个字节代表。那读取时,怎么知道下一个字节是英文,还是中文的其中一个字节呢?
---
请高人解惑,谢谢!
format.setEncoding("UTF-8");//设置编码格式 这样可以么?
---
现在我的问题是:用io流方式,从服务器下载一个已有的word文档。或者其他的文件。
能保证文件内容不出现乱码,就OK。
在生成work之前,你先设置编码格式,和你的服务器的编码,工程编码,就设置成一样
流可以设置,字符集吗??
文件名,还可以用 java.net.URLEncoder.encode(filename,"UTF-8");
--- 整个word文件,如何指定读取的编码呢???
求高人指定!!!
String agent = request.getHeader("USER-AGENT");
if (null != agent && -1 != agent.indexOf("MSIE")) {
return URLEncoder.encode(fileName, "UTF-8");
}else if (null != agent && -1 != agent.indexOf("Mozilla")) {
return "=?UTF-8?B?"+(new String(Base64.encodeBase64(fileName.getBytes("UTF-8"))))+"?=";
} else {
return fileName;
}
下载弹出用这个,注意attachment,就是附件的意思
response.setHeader("Content-disposition", "attachment ;filename=" + fileName);
下载下来的是没有问题的。 打开也是正常的。。
--- 但,用java io 流 下载,就乱码了。
-- 我试了,如果用流 下载 一个 **.txt 的文档 是没问题的。 也就是,word文档不同其他文件。流的方式下载,就出现乱码了。
做了几天的测试,都没成功!