Java 正确设置内容配置时,文件名为undefined.zip

Java 正确设置内容配置时,文件名为undefined.zip,java,http-headers,Java,Http Headers,我返回一个字节数组,其中httpServletResponse和content-disposition头设置正确。而且我得到的内容也是正确的。但是有些人知道文件名是如何变得undefined.zip的 下面是代码片段: // set content attributes for the response response.setContentType("application/octet-stream"); response.setContent

我返回一个字节数组,其中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调用响应中,它的设置正确,如下所示。 内容处置:附件;filename=“abc.zip”


任何关于我做错了什么的建议。提前谢谢

我也遇到了同样的问题,结果我正在访问
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年后偶然发现这个问题的人。这个问题被问到:)