В этом примере используется конкретный код SpringMVC с использованием MultiplaartFile для реализации загрузки файлов для вашей ссылки. Конкретный контент заключается в следующем
1. Файл конфигурации
Springmvc использует MultipartFile для загрузки файлов, поэтому нам сначала необходимо настроить MultipRtesolver: для обработки файла в форме
<!-Настройте Multiprtesolver commosmultipartresolver для загрузки файлов с использованием Spring-> <Beans: id = "Multiprtresolver" P: defaultendencoding = "utf-8" p: maxuploadsize = "5400000" p: uploadtempdir = "fileupload/tempsize: bean: bean> bean> bean>.
Атрибуты подробно объясняются:
DefaultEncoding = "UTF-8"-запрошенная формат кодирования, default iso-8859-1
maxuploadSize = "5400000" - это размер загруженного файла, в байтах
uploadtempdir = "fileupload/temp" - это временный путь для загрузки файла
2. Создайте простую форму загрузки
<body> <h2> экземпляр загрузки файла </h2> <form action = "fileupload.html" method = "post" ectype = "multipart/form-data"> select file: <input type = "file" file "> <input type =" value = "Отправить"> </form> </body>
Обратите внимание, что вы должны добавить ectype = "multipart/form-data" в тег формы, чтобы указать, что форма должна обрабатывать файл. Это самая основная вещь. Многие люди забудут ошибку поиска программы после ошибки загрузки, но забудьте об этом.
3. Написать класс управления загрузкой.
1. Создайте класс управления: FileUploadController и страница, которая возвращает список результатов.
2. Напишите действие, чтобы отправить форму
// Получить запрос на конфигурацию Spring по умолчанию через Autowovired Annotation Spring @autowired Private httpservletrequest; / *** * Загрузите файл с аннотацией @RequestParam, чтобы указать, что файл в форме MultipartFile * * @param file * @return */ @requestmapping ("fileupload") public stringupload (@requestparam ("file") multiplaartfile file) {// desitept with pail. filePath = request.getSession (). getServletContext (). getRealPath ("/") + "upload/" + file.getoriginalfilename (); // TransferTO (новый файл (filePath)); } catch (Exception e) {e.printstackTrace (); }} // redirect return "redirect: /list.html"; }/*** * Читать все файлы в загруженном файле и return * * @return */@requestmapping ("list") public modelandview list () {string filePath = request.getSession (). GetServletContext (). GetRealPath ("/") + "upload/"; ModelAndView MAV = new ModelAndView ("List"); File uploaddest = new File (filePath); String [] filenames = uploaddest.list (); for (int i = 0; i <filenames.length; i ++) {// Распечатать систему имен файла. } вернуть mav; } 3. Используйте Annotation Annotation SpringMVC, чтобы указать параметры файла в форме;
4. Укажите путь веб -проекта для сохранения файлов
5. Transfortto (File dest) Метод Multipartfile к указанному пути.
На этом этапе базовая загрузка файла закончилась.
Некоторые часто используемые методы класса MultipartFile:
String getContentType () // Получить тип файла mime
InputStream getInputStream () //, а затем перейдите к потоковой передаче файлов
String getName () // Получить имя компонента файла в форме
String hetoriginalfilename () // Получить исходное имя загруженного файла
long getSize () // Получить размер байта файла, единица байта
логический isempty () // это пусто
void Transferto (file dest) // Сохранить в целевой файл.
4. Загрузка нескольких файлов
Загрузка нескольких файлов на самом деле очень проста. Точно так же, как загрузка других и тех же параметров, таких как флажок, используйте то же имя в форме, а затем определите класс параметров MultiplaartFile в качестве массива в действии.
Следующая реализация:
1. Создайте форму, которая загружает несколько файлов:
<body> <h2>Upload multiple file instances</h2> <form action="filesUpload.html" method="post" enctype="multipart/form-data"> <p> Select file:<input type="file" name="files"> <p> Select file:<input type="file" name="files"> <p> Select file:<input type="file" name="files"> <p> <input type = "отправить" value = "upper"> </form> </body>
2. Напишите действие, чтобы обработать форму и написать отдельный метод для сохранения файла, чтобы облегчить обмен:
/**** Сохранить файл* @param file* @return*/private boolean savefile (multiplfile file) {// определить, является ли файл пустым if (! File.isempty ()) {try {// file save path string = request.getsession (). Getservletcontext (). GetRealpath ("/") + "upture/" warlemangil (). // TransferTO (новый файл (filePath)); вернуть истину; } catch (Exception e) {e.printstackTrace (); }} вернуть false; } 3. write action: @requestmapping ("filesupload") public String filesUpload (@RequestParam ("files") MultiplaartFile [] files) {// Судить массив файлов не может быть пустой, а его длина больше 0, если (файлы! = Null && файлы. Multiplatfile file = file [i]; // Сохранить файл saveFile (файл); }} // redirect return "redirect: /list.html"; }Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.