2016-09-23 9 views
1

私のAPIにデータをPOSTしようとしています。"POSTMANを使用して画像データを投稿する"

image = models.ImageField() 

私は私が送信しようとしています私の地元のボックス、上の画像を持っている:私はimageフィールドでモデルを持っています。正しく送っていますか?

{ 
    "id": "3", 
    "uid":"273a0d69", 
    "uuid": "90", 
    "image": "@/home/user/Downloads/tt.jpeg" 
} 

答えて

10

郵便配達員にファイルを送信する方法ではありません。あなたがしたことは、あなたのイメージのパスである文字列を送ることです。

する必要があります。

  1. リクエストメソッドをPOSTに設定した後、[本文]タブをクリックします。
  2. フォームデータを選択します。最初の行に、keyとvalueという名前のテキストボックスが表示されます。キーに「イメージ」を書いてください。デフォルトで 'text'に設定されている値のタイプが表示されます。それをファイルにして、ファイルをアップロードします。
  3. 次に、「raw」を選択し、jsonファイルを貼り付けます。また、バイナリ選択の隣で、 'Text'がクリックされたことが表示されます。それをJSONにします。あなたが移動する準備が整いました

form-data section

raw section

。あなたのDjangoのビューで

あなたは form-dataパネル内のキー/値のペアとしてJSONを設定した場合、受け入れ答えは作品
from rest_framework.views import APIView 
from rest_framework.parsers import MultiPartParser 
from rest_framework.decorators import parser_classes 

@parser_classes((MultiPartParser,)) 
class UploadFileAndJson(APIView): 

    def post(self, request, format=None): 
     thumbnail = request.FILES["file"] 
     info = json.loads(request.data['info']) 
     ... 
     return HttpResponse() 
+0

こんにちは、ネストされた画像を行う方法はありますか? {model:{image:file}} – Babbz77

+0

「詳細」を取得しました:「サポートされていないメディアタイプ\ "application/json \ 415 HTTPステータスコード。何か案が? – MarAja

+0

郵便配達員でテストしますか? –

1

enter image description here

(以下の画像を参照してください)それにもかかわらず、私はそれがAPIを設計する非常にクリーンな方法であるかどうか疑問に思っています。イメージとJSONの両方を1回の呼び出しでアップロードする必要がある場合は、大丈夫ですが、イメージをアップロードするためのルートと、コンテンツタイプのヘッダーが適切なJSONボディのルートを分けることができる場合は、 。

関連する問題