Spring будет содержать содержание в памяти или хранилища в диске?

То, когда файл говорит 100 МБ размером, загружается от браузера, будет Spring содержать целые данные в памяти или хранилища в диске временно. После прохождения через документа Spring я знаю, как установить временный dir, но я хочу знать то, что произойдет, если я не упомяну это.

Имею следующее объявление:

<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

Боб:

public class FileHolder {

    private MultipartFile file;

    public void setFile(MultipartFile file) {
        this.file = file;
    }

    public MultipartFile getFile() {
        return file;
    }
}

"Файл" возразит в вышеупомянутом бобе, содержат те данные на 100 МБ?

11
задан skaffman 18 May 2012 в 15:44
поделиться

3 ответа

Чуть больше копания в javadoc показывает, что максимальный размер памяти по умолчанию составляет 10240 байт. Исходя из этого, я бы предположил, что любая загрузка размером менее 10 кБ будет храниться в памяти, а все, что больше, будет храниться на диске. Если вы не укажете расположение диска, то, скорее всего, он будет использовать директорию tmp по умолчанию (я бы предположил, что он будет использовать директорию tmp по умолчанию).

.
12
ответ дан 3 December 2019 в 07:12
поделиться

Да, но если она хранится в disk он будет удален после обработки запроса.

2
ответ дан 3 December 2019 в 07:12
поделиться

Если вы не установите временную директорию CommonsMultipartResolver сохранит временные файлы во временную директорию контейнера сервлета.

Объект "файл" в вашем примере не содержит данных, похожих на ссылку на java.io.File. Данные нужно получить с помощью file.getBytes().

.
2
ответ дан 3 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: