Не удается открыть указанный поток ввода файла из файла (Docker) - PullRequest
1 голос
/ 24 марта 2020

Я пытаюсь прочитать данные Excel по следующему пути: file:///Users/karen/prog/files/statuses.xlsx

Но я постоянно получаю сообщение об ошибке:

rest-module_1  | 2020-03-24 10:02:04.504 ERROR 72 --- [nio-9090-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file input stream from file: '/Users/karen/prog/files/statuses.xlsx'] with root cause
rest-module_1  | 
rest-module_1  | java.io.FileNotFoundException: /Users/karen/prog/files/statuses.xlsx (No such file or directory)

Это мой код:

public XSSFWorkbook getExcelWorkbook(String path) throws IOException, InvalidFormatException, URISyntaxException {
        if (path.startsWith("file://")) {
            System.out.println(path);
            XSSFWorkbook wb = new XSSFWorkbook(new File(new URI(path)));
            return wb;
        } else {
            XSSFWorkbook wb = new XSSFWorkbook(this.getClass().getResourceAsStream(path));
            return wb;
        }
    }

Что может быть не так? Если я перейду через терминал к папке «files» и запусту «pwd» - он покажет точный путь, который я упомянул выше. Я использую Mac У меня есть права на чтение и запись для этого файла: enter image description here

Я запускаю приложение с docker, может ли это быть ошибкой? Это мой docker -компонентный файл:

services:

  rest-module:
    build:
      context: ./Status
    image: statusimage
    ports: 
      - 9090:9090
    volumes:
      - ./Status/:/app:delegated
      - ./LocalStorage/:/root/local:delegated

1 Ответ

0 голосов
/ 24 марта 2020

Я решил это, добавив дополнительный том в файл docker-compose:

services:

  rest-module:
    build:
      context: ./Status
    image: statusimage
    ports: 
      - 9090:9090
    volumes:
      - ./Status/:/app:delegated
      - ./LocalStorage/:/root/local:delegated
      - /Users/karen/prog/files:/Users/karen/prog/files:delegated
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...