Невозможно загрузить несколько файлов с именами файлов и путем в Java - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь загрузить несколько файлов по нажатию кнопки в Java.

Вот мой код Java

    @RequestMapping(value="/filedownloadFiles/[{fileName}]/{path}",method=
    {RequestMethod.GET,RequestMethod.POST})
    public  void filedownloadFiles(@PathVariable("fileName") List<String>
    fileName,@PathVariable String path,HttpServletResponse response)
    {
        for(String files:fileName) 
        {
         String result =  files.replaceAll("^\"|\"$", "");
         Path file = Paths.get(context.getRealPath("/"+path+"/"), result);
         if (Files.exists(file)) 
          {
            response.setContentType("*/*");
            response.addHeader("Content-Disposition", "attachment; 
            filename="+result);
            try
            {
                Files.copy(file, response.getOutputStream());
                response.getOutputStream().flush();
                response.getOutputStream().close();

            } 
            catch (IOException ex) {
                ex.printStackTrace();
            }
        }

    }
}

Я передаю массив имен файлов. Вот мой HTML

    <span data-ng-if="note2.images.length>0"><a
    href="./filedownloadFiles/{{note2.noteFile}}/messages" 
    target="_blank">Download files</a></span>

Здесь note2.noteFile - это массив fileNames в этом формате

    ["firstFile","secondFile"]

«messages» - это путь, в котором хранится файл. Я делаю для каждого цикла, чтобы всефайлы загружаются. Но только последний файл в массиве загружается. Может кто-нибудь сказать, что я здесь делаю не так?Я закрываю outputStream на каждой итерации. Пока он загружает только последний файл.

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