How to upload a file and JSON data in Postman? – Dev

The best answers to the question “How to upload a file and JSON data in Postman?” in the category Dev.

QUESTION:

I am using Spring MVC and this is my method:

/**
* 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;
        }
    }
}

I need to pass the session id in postman and also the file. How can I do that?

ANSWER:

The Missing Visual Guide

You must first find the nearly-invisible pale-grey-on-white dropdown for File which is the magic key that unlocks the Choose Files button.

After you choose POST, then choose Body->form-data, then find the File dropdown, and then choose ‘File’, only then will the ‘Choose Files’ button magically appear:

Postman POST file setup - (Text,File) dropdown highlighted

ANSWER:

In postman, set method type to POST.

Then select
Body -> form-data -> Enter your parameter name (file according to your code)

and on right side next to value column, there will be dropdown “text, file”, select File. choose your image file and post it.

For rest of “text” based parameters, you can post it like normally you do with postman. Just enter parameter name and select “text” from that right side dropdown menu and enter any value for it, hit send button. Your controller method should get called.

ANSWER:

Postman multipart form-data content-type

Select [Content Type] from [SHOW COLUMNS] then set content-type of “application/json” to the parameter of json text.

ANSWER:

Maybe you could do it this way:

postman_file_upload_with_json