Java 下载的文件名设置在哪里?

Java 下载的文件名设置在哪里?,java,liferay,liferay-6,portal,Java,Liferay,Liferay 6,Portal,我有一些代码可以下载pdf文件,如下所示: byte[] text = textContent.getText(); InputStream inputStream = new ByteArrayInputStream(text ); response.setContentType("application/pdf"); ServletResponseUtil.write(response, inputStream); 文件已成功下载,但名称来自何处?您可以在响应标题中指定文件名 respon

我有一些代码可以下载pdf文件,如下所示:

byte[] text = textContent.getText();
InputStream inputStream = new ByteArrayInputStream(text );
response.setContentType("application/pdf");
ServletResponseUtil.write(response, inputStream);

文件已成功下载,但名称来自何处?

您可以在响应标题中指定文件名

response.setContentType("application/pdf");
response.addProperty("Content-Disposition", "attachment; filename=" + myFilename);
这里的假设是在portlet的资源阶段提供资源

有关
内容处置
选项的完整列表,请参阅


只要没有
内容处置
标题,浏览器将从请求URL派生文件名。

能否添加原始文件名和下载的文件名?不需要精确,但至少要将“此文件名”改为“另一个文件名”?当我执行某些操作时,pdf文件在此处加载了某个名称,我无法确定该名称设置在何处。我想添加定义更多选项的选项,如
内联
,而不是
附件
,该选项应作为进一步的参考。谢谢,我在答案中包含了RFC6266链接。我包含了关于原始文件名的信息,因为这也是OP提出的一个问题。