2015-10-27 1 views
0

У меня есть некоторый код, чтобы загрузить PDF-файл, как показано ниже образом:Пусть знают, где downloded имя файла, установленное

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

Файл успешно загружен с некоторым именем, но я не могу понять его форму, где это имена приходит.

Может ли кто-нибудь сообщить мне?

+0

Можете ли вы добавить исходное имя файла и имя загруженного файла? Не нужно быть точным, но, по крайней мере, «this-File-Name» на «another_File_name»? – brasofilo

+0

Когда я выполняю какое-либо действие, файл в формате pdf загружается сонным именем. Здесь я не могу определить, где это имя установлено. –

ответ

2

Вы можете указать имя файла в заголовке ответа.

response.setContentType("application/pdf"); 
response.addProperty("Content-Disposition", "attachment; filename=" + myFilename); 

Предполагается, что ресурс будет использоваться во время фазы ресурса портлета.

Полный список Content-Disposition, см. RFC 6266.

До тех пор, пока нет заголовка Content-Disposition, браузер получит имя файла с URL-адреса запроса.

+0

Я хотел бы добавить, что [RFC 6266] (https://tools.ietf.org/html/rfc6266) определяет еще несколько параметров - например, 'inline' вместо' attachment', что должно служить дополнительной ссылкой. –

+0

Спасибо, я включил ссылку RFC 6266 в ответ. –

+1

Я включил информацию об исходном имени файла, так как это был вопрос и из OP. –