Servlet: сделать загрузку возобновляемой - PullRequest
0 голосов
/ 04 июля 2018

Я создаю сервлет, который делает файлы для клиента загружаемыми. Я добился этого, но не смог возобновить загрузку на клиент.

Вот мой код

private void startDownloadProcess(File file) {
    this.response.addHeader("Accept-Ranges", "bytes");
    this.response.setContentType("APPLICATION/OCTET-STREAM");
    this.response.setContentLength((int) file.length());
    this.response.setHeader("Content-disposition", String.format("attachment; filename=%s", file.getName()));
    try (ServletOutputStream outputStream = this.response.getOutputStream()) {
        try (FileInputStream inputStream = new FileInputStream(file)) {
            byte[] buffer = new byte[8072];
            int len;
            while ((len = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, len);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Этот код сделает загрузку доступной, но клиент не сможет приостановить и возобновить загрузку.

...