我的文件存放在FTP服务器上,要通过ie打开文件,现在的做法是通过访问一个servlet实现:
servlet部分代码如下: String appflag = "";
String attachment = "";
if (edocFile.getName().indexOf(".doc") > 0) {
appflag = "application/msword";
attachment = "inline";
} else if (edocFile.getName().indexOf(".xls") > 0) {
appflag = "application/vnd.ms-excel";
attachment = "inline";
} else if (requestFlag.indexOf(".pdf") > 0) {
appflag = "application/pdf";
attachment = "inline";
} else {
appflag = "application/octet-stream";
attachment = "attachment";
}
response.setContentType(appflag);
response.setHeader("Content-Disposition", attachment + ";filename="
+ edocFile.getName()); //ins为从ftp服务器读取文件的输入流
inputs = new DataInputStream(new BufferedInputStream(ins));
output = response.getOutputStream();// 得到输出流
bos = new BufferedOutputStream(output);// 输出缓冲流 data = new byte[5242880];// 缓冲字节数 5M
int size = 0;
size = inputs.read(data);
while (size != -1) {
bos.write(data, 0, size);
size = inputs.read(data);
}
//以下省略ie已设置为允许文件下载自动提示,但是,现在只能正确打开图片、pdf文件和word文档,但对于excel文件和其它文件,如chm,弹出对话框询问打开或下载时,打击打开或下载后,都提示文件无法下载。提示为:Internet 无法下载 (此处为servlet url) (来自localhsot)。无法打开该站点,该站点不可用或找不到,请稍后再试。 我没法确定是哪里出了问题。
非常感谢各位的帮助(或者能提供变通的解决方法)。PS.我可以通过在ie中直接打开的方式打开163邮箱里的附件
servlet部分代码如下: String appflag = "";
String attachment = "";
if (edocFile.getName().indexOf(".doc") > 0) {
appflag = "application/msword";
attachment = "inline";
} else if (edocFile.getName().indexOf(".xls") > 0) {
appflag = "application/vnd.ms-excel";
attachment = "inline";
} else if (requestFlag.indexOf(".pdf") > 0) {
appflag = "application/pdf";
attachment = "inline";
} else {
appflag = "application/octet-stream";
attachment = "attachment";
}
response.setContentType(appflag);
response.setHeader("Content-Disposition", attachment + ";filename="
+ edocFile.getName()); //ins为从ftp服务器读取文件的输入流
inputs = new DataInputStream(new BufferedInputStream(ins));
output = response.getOutputStream();// 得到输出流
bos = new BufferedOutputStream(output);// 输出缓冲流 data = new byte[5242880];// 缓冲字节数 5M
int size = 0;
size = inputs.read(data);
while (size != -1) {
bos.write(data, 0, size);
size = inputs.read(data);
}
//以下省略ie已设置为允许文件下载自动提示,但是,现在只能正确打开图片、pdf文件和word文档,但对于excel文件和其它文件,如chm,弹出对话框询问打开或下载时,打击打开或下载后,都提示文件无法下载。提示为:Internet 无法下载 (此处为servlet url) (来自localhsot)。无法打开该站点,该站点不可用或找不到,请稍后再试。 我没法确定是哪里出了问题。
非常感谢各位的帮助(或者能提供变通的解决方法)。PS.我可以通过在ie中直接打开的方式打开163邮箱里的附件
<extension>zip</extension> <mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension> <mime-type>application/x-msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension> <mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppt</extension> <mime-type>application/vnd.ms-powerpoint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dat</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpg</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp3</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping> <!-- -->
<mime-mapping>
<extension>ZIP</extension> <mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>XLS</extension> <mime-type>application/vnd.ms-excel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>DOC</extension> <mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>PPT</extension> <mime-type>application/vnd.ms-powerpoint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>RAR</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>DAT</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>MPG</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>MP3</extension> <mime-type>application/octet-stream</mime-type>
</mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>application/txt</mime-type>
</mime-mapping>
<mime-mapping>
<extension>chm</extension>
<mime-type>application/mshelp</mime-type>
</mime-mapping>