所以我有一个 servlet,其 URL 类似于 blah.do?params=xyz
在servlet中我的代码类似于
ServletOutputStream out = response.getOutputStream();
request.setAttribute("Content-Type","application/pdf");
request.setAttribute("Content-Disposition","attachment;filename=test.pdf");
byte[] bytes = SystemServer.getFileContents(fileId).getBytes();
request.setAttribute("Content-Length","" + bytes.length);
out.write(bytes, 0, bytes.length);
out.flush();
我用
window.open(url,"my file","someparams");
但是chrome正在以纯文本形式打开窗口,并且查看源代码确认输出的所有内容都是
%PDF-1.4 %áéëÓ 2 0 obj ..... all contents....%%EOF
那么我怎样才能强迫它以pdf格式出现
奇怪的是我使用相同的代码将图像返回到浏览器并且它工作正常