IOS Safari проблема загрузки файла с именем «Неизвестно» - PullRequest
1 голос
/ 27 марта 2019

Я реализовал сервис Jersey REST для загрузки zip-файла. Теперь я хотел бы использовать Axios в передней части, чтобы загрузить ZIP-файл. В PC Chrome все хорошо, но при попытке с Safari на iPad открывается вкладка с именем «unknown».

Я обыскал некоторые статьи и упомянул, что это может быть связано с совместимостью IOS-сафари. например https://caniuse.com/#feat=download

Однако я также хочу знать, есть ли какой-либо способ показать загруженный файл как «file.zip» для сафари.

Ниже мой код

Backend:

@GET
@Path("/getTestingReport")
@Produces("application/zip")
public Response getTestingReport() throws Exception {
    // set file (and path) to be download
    File file = new File("C:/Users/abc/Desktop/test.zip");

    ResponseBuilder responseBuilder = Response.ok((Object) file);
    responseBuilder.header("Content-Disposition", "attachment; filename=\"MyJerseyZipFile.zip\"");
    return responseBuilder.build();         
}

Frontend:

 axios.get("report/getTestingReport").then((response) => {
    console.log("response", response)

    var blob = new Blob([response.data], { type: "application/zip" });
    const url = window.URL.createObjectURL(blob);
    const link = document.createElement('a');
    link.href = url;
    link.setAttribute('download', 'file.zip');
    document.body.appendChild(link);
    link.click();
}).catch((error) => {
    console.error("error response", error.response)
});

Могу ли я предложить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...