Добрые советы
В системе управления членами Spring Boot необходимо включать в себя Spring Framework, Framework SpringMVC, платформу Hibernate и Thymeleaf Template Engine. Поэтому вы можете выучить это знание. Конечно, это нормально использовать его напрямую, если вы начнете, но это может быть немного сложно, если вы включаете некоторые исключения и принципы.
1. Передняя часть
В передней части части addmember.html представляет информацию о форме формы, которая включает в себя функцию загрузки изображения (задействована операция загрузки файла). Код в детали формы выглядит следующим образом:
<form th: action = "@{/admin/addmember}" method = "post" enctype = "Multipart/form-data" id = "addmember"> <div> <div> <pan> select avatar file </span> <input id = file "type =" file "name =" iconpath "Multy =" "warmholder =" select "accept accept accept accept accept ancemet =" ulet intoood = "" intoour/"" melefit = "anceply on". </div> <div> <!-<input type = "text" Placeholder = "загрузить один или несколько файлов">-> <id Id = "myimg" src = "Assets/iconpath/common.jpg"/> </div> <!-Avatar файл. Предварительный просмотр-> <croppt> function id (id) {return Document.geteLementBeament (id); } function Changetoop () {var file = id ("file"); if (file.value === '') {// Установить идентификатор изображения по умолчанию ("myimg"). src = 'assets/iconpath/common.jpg'; } else {preimg ("file", "myimg"); }} // Получить URL -адрес ввода [файл] Изображение важная функция getFileurl (fileId) {var url; var file = id (fileId); var Agent = navigator.useragent; if (agget.indexof ("msie")> = 1) {url = file.value; } else if (agget.indexof ("firefox")> 0) {url = window.url.createObjectUrl (file.files.item (0)); } else if (agget.indexof ("chrome")> 0) {url = window.url.createObjectUrl (file.files.item (0)); } return url; } // Предварительный просмотр Функция после прочтения изображения Preimg (fileId, imgid) {var imgpre = id (imgid); imgpre.src = getFileurl (fileId); } </script> </div> ......... </form> Здесь есть примечание: Поскольку она включает в себя загрузку файла, enctype="multipart/form-data" необходимо добавить в форму, а атрибут имени на входе соответствует имени входящего параметра метода отображения контроллера в бэкэнд.
2. Реализация кода бэкэнд
В бэкэнде структура SpringMVC может обрабатывать файлы, а затем мы можем получать файлы, передавая параметры.
2.1 Контроллер обрабатывает входящие файлы
Код заключается в следующем:
@Postmapping ("/addmember") public String Addmember (член член, строковый град, значок Multiplaartfile, Map <String, Object> Model) {// Обработка загруженного файла try {if (icon == null) // Сначала определить, является ли загруженный файл null return return "ошибка"; if (icon.getoriginalfilename (). equals ("")) // Если исходное имя загруженного файла является пустой строкой, доказано, что элемент изображения по умолчанию ("/assets/icon/common.jpg"); // Установка в качестве нашего Pathelse // Здесь я обрабатываю загруженный MultipartFile, передавая класс инструмента загрузки файла, который я написал. Имя файла установлено на string member.seticonPath (fileuploadutil.upload (icon, "/assets/icon/", uuidrandomutil.get32uuid ())); } catch (Exception e) {e.printstackTrace (); вернуть "ошибку"; } ..... вернуть "AddMemberSuccess"; }2.2 FileuploadUtil Tool Class Saves Files
После того, как файл Controller MultipartFile внесен, он должен быть дополнительно преобразован в файл и сохранен на диск, поэтому я обработал его отдельно и передал входящий файл контроллера в класс инструмента FileUpudUtil для обработки. Конкретный код заключается в следующем:
Общедоступный класс FileUploadUtil { /*** PrefixPath PrefixPath @param MultipartFile MultipArtFile* @param. В начале пути* @param fileName не нужно добавлять « /». Исключения*/public static String upload (Multipartfile multiplaartfile, String prefixpath, String filename) бросает исключение {// Получить абсолютный путь загруженный string uploadpath = classutils.getdefaultclassloader (). getResource (""). getPath () + "/static" + prefixpath; File file = new File (uploadPath); if (! file.exists ()) if (file.mkdirs ()) system.out.println ("успешно созданный каталог"); // Получить загруженный суффикс = multiplaartfile.getoriginalfilename (). Substring (multiplectfile.getoriginalfilename (). LastIndexof (".")); // Создать окончательный файл файла = новый файл (uploadPath+fileName+SuffixName); multipartfile.transferto (file); вернуть префикспат+имя файла+суффикс; }} Classutils в вышеупомянутом класс инструментов, предоставляемый весной, и вызов метода getDefaultClassLoader().getResource("").getPath() - это получить путь в текущем проекте ClassPath.
Приведенное выше является частью контента о загрузке файлов в этой системе. Исходный код этой системы загружен в GitHub и загруженный исходный код.
Суммировать
Выше приведено функция загрузки файла системы управления членами Spring Boot, введенной вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!