Как указать имя файла для сохранения в браузере из сервиса REST в Джерси?

Я пытаюсь, чтобы служба REST вернула zip-файл с локального жесткого диска . Я делаю следующее,

@Path("/interface3/{Ent_id}/{esf_app_id}/{esf_app_ver}")
public class Interface3Mock {

    // This method is called if TEXT_PLAIN is request
    @GET
    @Produces("application/zip")
    public Response  callInterface3_text(
            @PathParam("Ent_id") Integer entitlement_id,
            @PathParam("eapp_id") String eapp_id,
            @PathParam("eapp_ver") String eapp_ver) {
        File f = new File("D:\Documentation\Documentation.zip");

        String mt = new MimetypesFileTypeMap().getContentType(f);

        return Response.ok(f, mt).build();

    }
}

Теперь, когда я использую браузер IE. Internet Explorer и ключ в url http://localhost:9788/mockRESTServer/rest/interface3/123456/k123/l345 я вижу диалоговое окно загрузки файла, в котором говорится: "вы хотите сохранить файл l345".

Я хочу, чтобы он попросил меня скачать zip ie. D:\Documentation\Documentation.zip. Но каким-то образом он занимает последний параметр в URL-адресе запроса.

1 ответов


return Response.ok(f, mt)
        .header("Content-Disposition", "attachment; filename=Documentation.zip")
        .build();

посмотреть Как установить заголовок ответа в JAX-RS, чтобы пользователь видел всплывающее окно загрузки для Excel?