在jsp中下载WMV文件

时间:2011-09-07 10:06:22

标签: java jsp

我写了一个jsp,我正在下载某些文件......它们是pdf,zip,ppt和wmv。除wmv外,所有文件类型都有效。我无法弄清楚问题。当我播放wmv文件时,我得到以下错误。

  

Windows Media Player无法播放该文件。播放器可能不支持该文件类型,或者可能不支持用于压缩文件的编解码器。

在我的jps中,我编写了如下代码

response.setContentType("video/x-ms-wmv");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment; filename=123.wmv;");
String fileName                 = "/logs/164266828.wmv";
FileInputStream input           = new FileInputStream(fileName);
BufferedInputStream buf         = new BufferedInputStream(input);
int readBytes                   = 0;
ServletOutputStream myOut       = response.getOutputStream( );
while((readBytes = buf.read( )) != -1)
    myOut.write(readBytes);

任何输入或修改都会有很大的帮助!!!

1 个答案:

答案 0 :(得分:0)

不要使用JSP来传输二进制数据。 JSP可能已经使用模板文本(在<% %>事物之外的空格等)破坏了它。将此代码移动到servlet类的doGet()方法,并调用servlet而不是JSP。


无关到具体问题,这些文件似乎是静态文件。如果您完全控制服务器,则不一定需要servlet。例如,如果是Tomcat,您可以将包含静态文件的文件夹作为另一个<Context>添加到server.xml文件中。

另见: