Я использую Spring MVC, и это мой метод:
/**
* Upload single file using Spring Controller.
*/
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public @ResponseBody ResponseEntity<GenericResponseVO<? extends IServiceVO>> uploadFileHandler(
@RequestParam("name") String name,
@RequestParam("file") MultipartFile file,
HttpServletRequest request,
HttpServletResponse response) {
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
// Creating the directory to store file
String rootPath = System.getProperty("catalina.home");
File dir = new File(rootPath + File.separator + "tmpFiles");
if (!dir.exists()) {
dir.mkdirs();
}
// Create the file on server
File serverFile = new File(dir.getAbsolutePath() + File.separator + name);
BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile));
stream.write(bytes);
stream.close();
System.out.println("Server File Location=" + serverFile.getAbsolutePath());
return null;
} catch (Exception e) {
return null;
}
}
}
Мне нужно передать идентификатор сеанса в почтальоне, а также файл. Как я могу это сделать?
java
json
spring-mvc
postman
Харикришнан К.Н.
источник
источник
POST
? О чемPUT
?String
всегда. Почему он не соответствует моему DTO?@PostMapping ( value = "/byImageFile", consumes = { "multipart/form-data" }) public ResponseEntity<?> postMap( @RequestPart ( "imageFile") MultipartFile imageFile, @RequestPart ( "fieldsToExtract") RequestDto requestDto )
В этом случае я вообще не могу отправить запрос от почтальонаRequestDto
автоматически. Я принял его как строку, проанализировалJson
иRequestDto
явно сопоставил .Отсутствующее наглядное руководство
Сначала вы должны найти почти невидимое раскрывающееся меню бледно-серого цвета на белом, для
File
которого есть волшебный ключ, открывающийChoose Files
кнопку.После того, как вы выберете
POST
, затем выберитеBody->form-data
, затем найдите раскрывающийся список «Файл», а затем выберите «Файл», только тогда волшебным образом появится кнопка «Выбрать файлы»:источник
Может быть, вы могли бы сделать это так:
источник
Как это :
Тело -> данные формы -> выбрать файл
Вы должны написать «файл» вместо «имя»
Также вы можете отправлять данные JSON из поля Body -> raw. (Просто вставьте строку JSON)
источник
источник
Если вам нужно как Upload файл в многоголосном с помощью формы данных и отправить JSON данные (объект Dto) в том же POST запроса
Получите объект JSON как String в контроллере и сделайте его десериализованным, добавив эту строку
источник
Выберите [Content Type] из [SHOW COLUMNS], затем установите тип контента «application / json» для параметра текста json.
источник
Если кому-то понадобилось:
тело -> данные формы
Добавить имя поля как массив
источник
Если кто-то хочет отправить данные json в формате данных формы, просто нужно объявить такие переменные
Почтальон:
Как видите, параметр description будет в базовом формате json, в результате чего:
источник
Мне нужно было передать и файл, и целое число. Я сделал это так:
необходимо передать файл для загрузки: сделал это в соответствии с ответом Sumit.
Тип запроса : POST
Тело -> данные формы
под заголовком KEY имя переменной («файл» в моем внутреннем коде).
в бэкэнде:
file = request.files['file']
Рядом с «файлом» есть раскрывающийся список, в котором можно выбрать между «Файл» или «Текст». Выберите «Файл», и под заголовком ЗНАЧЕНИЕ появилось «Выбрать файлы». Щелкнул по нему, открыв окно для выбора файла.
2. необходимо передать целое число:
пошел в:
Params
введенное имя переменной (например: id) в KEY и ее значение (например: 1) в VALUE
в бэкэнде:
Работал!
источник
Используйте приведенный ниже код на стороне упора пружины:
источник
Для каждого ключа данных формы вы можете установить Content-Type, справа есть кнопка почтальона, чтобы добавить столбец Content-Type, и вам не нужно анализировать json из строки внутри вашего контроллера.
источник
Если вы хотите сделать
PUT
запрос, просто сделайте все какPOST
запрос, но добавьте_method
=>PUT
к своимform-data
параметрам.источник
Способ отправки данных mulitpart, содержащих файл с данными json, следующий: нам нужно установить тип содержимого соответствующих полей ключа json на 'application / json' на вкладке тела почтальона, как показано ниже:
Это изображение ссылки расскажет вам об отправке изображения с данными json.
источник
Если вы используете файлы cookie для сохранения сеанса, вы можете использовать перехватчик для передачи файлов cookie от браузера к почтальону.
Также для загрузки файла вы можете использовать вкладку данных формы на вкладке тела почтальона, в которой вы можете предоставить данные в формате ключ-значение, и для каждого ключа вы можете выбрать тип значения текст / файл. при выборе типа файла появилась опция загрузки файла.
источник
введите описание изображения здесь
оставшийся контроллер [класс сервиса applicationinitializer class for multipart con [postman pic] 2 fig
источник