Файл создан локально, но не существует в развертывании Heroku – Java ApiJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Файл создан локально, но не существует в развертывании Heroku – Java Api

Сообщение Anonymous »

У меня есть API, который создает временный файл при вызове одного из ресурсов, в конце метода этот файл удаляется.
Пример:
Извлекает все продукты
http://localhost:8080/api/v2/products/allproducts
Поток API:
  • Получает все продукты;
    Создает новый временный_файл;
  • Записывает в новый временный_файл;
  • Сохраняет информацию в файле и возвращает ее;
    Удаляет временный_файл;
Этот API был полностью протестирован локально и работает! Файл создается, читается, а затем удаляется, все идет хорошо.
Когда я развертываю API в Heroku, я получаю внутреннюю ошибку сервера 500 «java.io.FileNotFoundException» (такого нет). файл или каталог) - блок catch вызова
(Подробнее читайте ниже)
dyno=web.1 connect=0ms service=4ms status=500 bytes=871 protocol=https 2023-03-20T22:04:36.792371+00:00 app[web.1]: Unable to create tempfile 2023-03-20T22:04:36.792387+00:00 app[web.1]: java.io.FileNotFoundException: ./src/main/java/org/test/resources/temp_allproducts.json (No such file or directory) 2023-03-20T22:04:36.792523+00:00 app[web.1]: at java.io.FileOutputStream.open0(Native Method) 2023-03-20T22:04:36.792524+00:00 app[web.1]: at java.io.FileOutputStream.open(FileOutputStream.java:270) 2023-03-20T22:04:36.792533+00:00 app[web.1]: at java.io.FileOutputStream.(FileOutputStream.java:213) 2023-03-20T22:04:36.792534+00:00 app[web.1]: at java.io.FileOutputStream.(FileOutputStream.java:162) (...)

Интересно, отличается ли путь к файлу в Heroku или я просто что-то не делаю в приведенном примере потока.
Я' Я оставлю вам образец того, как я создаю этот временный файл.
private static File makeTempFile(String data, String fileName) {
File file = new File(BASE_PATH + "temp_" + fileName+ ".json");
try (FileWriter writer = new FileWriter(file)) {
writer.write(formatJson(data));
System.out.println(BASE_PATH + "temp_" + fileName + ".json" + " created");
return file;
} catch (Exception e) {
System.out.println("Unable to create tempfile");
e.printStackTrace();
return null;
}
}


Подробнее здесь: https://stackoverflow.com/questions/757 ... t-java-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»