我正在尝试将数据发布到我的API。我有一个image
字段的模型,其中:
image = models.ImageField()
我的本地包装盒上有一张图片,我正在尝试发送。我发送的是正确的吗?
{
"id": "3",
"uid":"273a0d69",
"uuid": "90",
"image": "@/home/user/Downloads/tt.jpeg"
}
答案 0 :(得分:39)
这不是你在邮递员上发送文件的方式。你所做的是发送一个字符串,这是你的图像的路径,仅此而已。
你应该做的是什么;
你准备好了。
在您的Django视图中,
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()
答案 1 :(得分:7)
如果您在form-data
面板中将JSON设置为键/值对,则接受的答案有效(请参见下图)
尽管如此,我想知道它是否是一种设计API的非常简洁的方法。如果您必须在一次调用中上传图像和JSON,也许可以,但是如果您可以分隔路径(一个用于图像上传,另一个用于JSON主体,具有适当的内容类型标题),它似乎更好
答案 2 :(得分:1)
答案 3 :(得分:0)
请遵循以下步骤:
选择正文>表单数据,并执行图中所示的操作。
现在在您的Django视图中。py
def post(self, request, *args, **kwargs): image = request.FILES["image"] data = json.loads(request.data['data']) ... return Response(...)
答案 4 :(得分:0)
答案 5 :(得分:0)