我写了一个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);
任何输入或修改都会有很大的帮助!!!
答案 0 :(得分:0)
不要使用JSP来传输二进制数据。 JSP可能已经使用模板文本(在<% %>
事物之外的空格等)破坏了它。将此代码移动到servlet类的doGet()
方法,并调用servlet而不是JSP。
无关到具体问题,这些文件似乎是静态文件。如果您完全控制服务器,则不一定需要servlet。例如,如果是Tomcat,您可以将包含静态文件的文件夹作为另一个<Context>
添加到server.xml
文件中。