在哪里下载文件名设置?

时间:2015-10-27 05:23:35

标签: java liferay liferay-6 portal

我有一些代码可以像下面这样下载pdf文件:

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

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

1 个答案:

答案 0 :(得分:2)

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

<select class="form-control" id="select" name="leave_option">
      <option value="1">Annual Leave</option>
      <option value="2">Sick Leave</option>
      <option value="3">No Pay Leave</option>
      <?php if($sex == "female"){ ?>
      <option value="4">Maternity Leave</option>
      <? } ?>
      <option value="5">Adoption Leave</option>
      <option value="6">Childcare Leave</option>
      <option value="7">Paternity Leave</option>
      <option value="8">Shared Parental Leave</option>
      <option value="9">Infant Care Leave</option>
      <?php if($sex == "male"){ ?>
      <option value="10">Reservist Leave</option>
      <? } ?>
</select>

这里假设资源是在portlet的资源阶段提供的。

有关response.setContentType("application/pdf"); response.addProperty("Content-Disposition", "attachment; filename=" + myFilename); 选项的完整列表,请参阅RFC 6266

只要没有Content-Disposition标头,浏览器就会从请求网址中获取文件名。