Actualmente tengo un método en Jersey que recupera un archivo de un repositorio de contenido y lo devuelve como respuesta. El archivo puede ser un jpeg, gif, pdf, docx, html, etc. (básicamente cualquier cosa). Actualmente, sin embargo, no puedo entender cómo puedo controlar el nombre del archivo ya que cada archivo se descarga automáticamente con el nombre (descarga. [Extensión de archivo] ie (download.jpg, download.docx, download.pdf). ¿Hay alguna manera de que puede establecer el nombre del archivo? ya lo tengo en una cadena, pero no sé cómo configurar la respuesta para que muestre ese nombre de archivo en lugar de por defecto a "descargar".¿Es posible controlar el nombre de archivo de una respuesta de un servicio Jersey Rest?
@GET
@Path("/download/{id}")
public Response downloadContent(@PathParam("id") String id)
{
String serverUrl = "http://localhost:8080/alfresco/service/cmis";
String username = "admin";
String password = "admin";
Session session = getSession(serverUrl, username, password);
Document doc = (Document)session.getObject(session.createObjectId(id));
String filename = doc.getName();
ResponseBuilder rb = new ResponseBuilderImpl();
rb.type(doc.getContentStreamMimeType());
rb.entity(doc.getContentStream().getStream());
return rb.build();
}
No puedo agregar esta cadena a _Content-Disposition_ header 'filename * = UTF-8''url_encoded_filename'. ¿Sabes por qué? – gkiko