2016-05-20 5 views
-1

У меня есть страница JSP:Загрузить файл Spring MVC

<form method="get" action="/save" type="multipart/form-data"> 
    File to upload: <input type="file" name="file"><br /> 
    <input type="text" name="name"> 
    <input type="submit" value="Upload" /> 
</form> 

Как я могу загрузить файл с помощью Spring MVC? Какой контроллер я должен использовать?

Я пытаюсь написать некоторых это:

@RequestMapping(value ="/save", method = RequestMethod.GET) 
public String uploadDo(@RequestParam("file") MultipartFile file, 
            @RequestParam ("name") String name) { 

    return "success"; 
} 

Но как получить данные из файла я не знаю.

Надеюсь, вы мне поможете.

+0

и теперь я получаю сообщение об ошибке: HTTP Status 500 - обработка запроса не удалась; Вложенное исключение - org.springframework.web.multipart.MultipartException: текущий запрос не является множественным запросом –

ответ

0

Хорошо, первая вещь:

Изменение RequestMethod.GET к RequestMethod.POST. Вы делаете POST, вызывая /save.

Вторым: у вас есть параметр MultipartFile file, а также в вашем JSP у вас есть name=file. Таким образом, внутри вашего контроллера вы можете управлять своим объектом file. Объектом file является фактический файл, который загружается.

Имейте в виду, что, возможно, вам нужно внести некоторые изменения в Spring Security, если вы используете и, возможно, также в свои файлы конфигурации Spring.

+0

Да, я могу изменить метод POST. Но как я могу получить данные из файлового объекта? –

+0

Вы можете использовать, например, 'file.getName()' или 'file.getSize()' и т. Д. –

Смежные вопросы