我有一个jsp在里面下载某些文件..。它们是pdf,zip,ppt和wmv。除了wmv之外,所有文件类型都可以工作。我找不出问题。当我播放wmv文件时,我会得到以下错误。
Windows无法播放该文件。播放机可能不支持文件类型,也可能不支持用于压缩文件的编解码器。
在我的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);任何输入或修改都会有很大帮助!
发布于 2011-09-07 13:50:00
不要使用JSP来流二进制数据。JSP可能已经用模板文本(空白等)破坏了它,在这些<% %>之外。将此代码移动到servlet类的doGet()方法,并调用servlet而不是JSP。
无关的具体问题,那些文件似乎是静态文件。如果您完全控制您的服务器,则不一定需要servlet。例如,如果使用Tomcat,可以将带有静态文件的文件夹作为另一个<Context>添加到server.xml文件中。
另请参阅:
https://stackoverflow.com/questions/7332070
复制相似问题