Здравствуйте. Изучаю спринг, пытаюсь загрузить фото. Есть модель типа:
class Photo
{
private int id;
private String name;
private byte[] photo;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public byte[] getPhoto() {
return photo;
}
public void setPhoto(byte[] photo) {
this.photo = photo;
}
}
Когда в форме присутствует enctype=multipart/form-data
и в контролере вызывается геттер getPhoto()
, то получаемый файл null
, если в форме не ставить multipart
то все работает, но загружается не файл а его имя.
Я так понимаю в контролере нужно получить объект типа Multipart? Вопрос как это сделать если в модели объявлен byte[]
для последующей записи в БД.
Пробовал совместно с @ModelAtribute
использовать @RequestParam("photo") MultipartFile file
, но так значение получить не удалось.
В какую сторону еще посмотреть, чтоб все таки загрузить именно файл а не его имя?
Проблема решена. Отсутствовало переопределение следующего метода, для поддержки Servlet 3
@Override
protected void customizeRegistration(ServletRegistration.Dynamic registration)
{
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Могу ли я так, в одном java-файле два активити прописать? Те надо сделать так, чтобы когда загружался java-файл, он загрузил два активити - один...
Взял лаунчер из этого репозитория: Launcher Minecraft
Имеется активити, в которой в onCreate вызываю фрагмент видео плеераВо фрагменте есть методы: