Java Spring MVC - загрузка и хранение файла в папке «webapp» - плохая идея?Почему это? - PullRequest
0 голосов
/ 11 февраля 2019

Когда дело доходит до загрузки файла в Spring MVC, я обнаружил, что во многих статьях рекомендуется хранить его в папке файловой системы, а не в папке внутри проекта.

Но Мое веб-приложение отображает страницу HTML (просмотр), используя файл из папки webapp .

├── src
│   ├── main
│   │   ├── java
│   │   │   └── com   // Where my application's is.
│   │   ├── resources
│   │   │   ├── META-INF
│   │   │   ├── log4j.xml
│   │   │   ├── maildata.properties
│   │   │   └── persistence-mysql.properties
│   │   └── webapp
│   │       ├── WEB-INF
│   │       │   ├── classes
│   │       │   ├── spring
│   │       │   ├── templates // Where my view pages are. Thymeleaf template used.
│   │       │   │   ├── login.html
│   │       │   │   ├── index.html
│   │       │   │   └── ...html and More...
│   │       │   └── web.xml
│   │       └── resources // --> This is location that my app use for rendering.
│   │           ├── css
│   │           ├── fonts
│   │           ├── images  
│   │           ├── js
│   │           └── vendors
│   └── test
│       ├── java
│       │   └── com
│       └── resources
│           └── log4j.xml
└── target

в моей части просмотра я использую файлы из папки ресурсов для рендеринга HTML-страницы.

.
.
<link rel="stylesheet" th:href="@{'/resources/css/style.css'}" type="text/css">
.
.

.outbox {
    background:
        url([[@{/resources/images/header.jpg}]]) #000
        55% 0 no-repeat;
    background-size: 140% auto;
    margin-top: -68px;
    width: 100%;
    padding-top: 42.25%;
    position: relative;
    display: block;
    z-index: -1;
}
.
.
.

Я хочу создать функцию, которая загружает файл в папку resources и использует его для рендеринга HTML-страницы.

Это плохая идея?Не могли бы вы объяснить, почему?

Если это так, какой наилучший подход я могу использовать для своей задачи?(Лучшее место для загрузки файлов)

1 Ответ

0 голосов
/ 11 февраля 2019

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

  1. Загрузить их в другой каталог в файловой системе.Тот, который не управляется сервером.
  2. Загрузите их в таблицу базы данных как BLOB.

В любом случае вам потребуется создать контроллер, который возвращает изображениев виде файла (потому что они больше не доступны как ресурсы).

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