web-dev-qa-db-ja.com

postmanにファイルとJSONデータをアップロードする方法

私は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; 
        } 
    } 
} 

私はpostmanとファイルにもセッションIDを渡す必要があります。どうやってやるの?

58

Postmanで、メソッドタイプをPOSTに設定します。

それからBody - > form-data - >あなたのパラメータ名を入力してください(fileあなたのコードに従って)

そして、値の欄の隣の右側には、ドロップダウンの「テキスト、ファイル」があり、選択ファイル画像ファイルを選択して投稿してください。

"テキスト"ベースのパラメータの残りの部分については、通常の郵便配達員のように投稿できます。ただパラメータ名を入力して、その右側のドロップダウンメニューから「テキスト」を選択してそれに任意の値を入力し、送信ボタンを押してください。あなたのコントローラメソッドが呼ばれるべきです。

84
Sumit Badaya

たぶん、あなたはこのようにそれをすることができました:

postman_file_upload_with_json

36
gce

あなたは最初にFileのほとんど見えない淡いグレーと白のドロップダウンを見つけなければなりません。これはChoose Filesボタンのロックを解除する魔法の鍵です。

ビジュアルガイド

の後にPOSTを選び、そしてBody->form-dataを選び、そしてFileドロップダウンを見つけ、そして[ファイル]を選択し、のみ[ファイルの選択]ボタンが魔法のように表示されます。

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

23
Chris F Carroll

このような :

enter image description here

ボディ - >フォームデータ - >ファイル選択

あなたは「名前」の代わりに「ファイル」を書かなければなりません

また、Body - > raw fieldからJSONデータを送信することもできます。 (JSON文字列を貼り付けるだけ)

15
burakozgul
  1. ヘッダを付けないでください。
  2. Jsonデータを.jsonファイルに入れます。
  3. 両方のファイルを選択します。1つはあなたの.txtファイルで、もう1つはあなたのリクエストパラメータキー用の.jsonファイルです。
7
Rohit Thakur

誰かが必要な場合:

本体 - >フォームデータ

フィールド名を配列として追加

enter image description here

5

フォームデータを使用してマルチパートにファイルをアップロードし、同じ方法でjsonデータ(Dtoオブジェクト)を送信するPOSTリクエスト

JSONオブジェクトをControllerのStringとして取得し、次の行を追加してシリアル化を解除します。

ContactDto contactDto  = new ObjectMapper().readValue(yourJSONString, ContactDto.class);
5
Ajay k

誰かがフォームデータ形式でJSONデータを送信したい場合は、このように変数を宣言する必要があります。

郵便配達員:

ご覧のとおり、descriptionパラメーターは基本的なjson形式になります。

{ description: { spanish: 'hola', english: 'hello' } }
4

Postman multipart form-data content-type

[SHOW COLUMNS]から[Content Type]を選択し、 "application/json"のcontent-typeをjson textのパラメータに設定します。

1
otamega

ファイルと整数の両方を渡す必要がありました。私はこうやった:

  1. アップロードするファイルを渡す必要がありました:それはSumitの答えの通りでした。

    リクエストタイプ:POST

    本文 - >フォームデータ

    見出しKEYの下に、変数の名前を入力します(私のバックエンドコードでは 'file')。

    バックエンドで:

    file = request.files['file']

    [ファイル]の横には、[ファイル]または[テキスト]のいずれかを選択できるドロップダウンボックスがあります。 「ファイル」を選択し、見出しの下に「ファイルの選択」が表示されます。これをクリックするとファイルを選択するウィンドウが開きます。

整数を渡す必要がありました:

行きました:

Params

KEYの下に入力された変数名(例:id)およびVALUEの下にその値(例:1)

バックエンドで:

id = request.args.get('id')

働いた!

0
vinci mojamdar

あなたがセッションを維持するためにクッキーを使用している場合、あなたはブラウザから郵便配達人へクッキーを共有するためにインターセプターを使用することができます。

また、ファイルをアップロードするには、postmanのbodyタブの下にあるform-dataタブを使うことができます。そこでは、キーと値の形式でデータを提供でき、それぞれのキーについて値のテキスト/ファイルのタイプを選択できます。あなたがファイルの種類オプションを選択すると、ファイルをアップロードするように見えました。

0
Sandesh Jain

PUTリクエストを行いたい場合は、すべてをPOSTリクエストとして行うだけで、_method => PUTform-dataパラメータに追加します。

0
kubilay