当正确设置content-disposition时,filename得到undefined.zip

时间:2016-05-20 19:19:22

标签: java http-headers

我正在返回一个带有httpServletResponse的字节数组,并正确设置了content-disposition标头。我得到的内容也是正确的。但有些文件名如何获取undefined.zip。

以下是代码段:

        // set content attributes for the response
        response.setContentType("application/octet-stream"); 
        response.setContentLength((int) packageZipFile.length);  
        // set headers for the response
        String headerKey = "Content-Disposition";
        String headerValue = "attachment; filename=\"abc.zip\"";
        response.setHeader(headerKey, headerValue);

        // get output stream of the response
        outStream = response.getOutputStream();
        outStream.write(packageZipFile);  

同样在浏览器中的REST调用响应中,它设置如下。 内容处置:附件;文件名=" abc.zip"

关于我做错的任何建议。提前致谢!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,事实证明我正在访问localhost,并试图从192.168.x.x下载文件。在chrome和firefox中,这种行为是一致的。

这是我在节点中设置标题的方式

ctx.response.set('content-type', 'application/zip, application/octet-stream');
ctx.response.set('content-disposition', `attachment; filename="filename-here.zip"`);
ctx.response.set('filename', `filename-here.zip`);

希望这可以帮助任何人在提出此问题3年后偶然发现此问题:)