我在处理图像文件方面没有太多的实践,对于使用django REST API发布和处理图像,我感到很困惑。我使用python脚本作为客户端仅用于测试(最终将是ios应用程序)。
任何能帮助我接收图像文件并将其保存在本地服务器上的人,将不胜感激。
客户:
i = Image.open('image.jpeg')
upload = {
'id': 3,
'picture': i
}
r = requests.post(ip, data=upload, stream=True)
print(r.text)
服务器:
class Picture_Upload(APIView):
def post(self, request):
f = request.data['picture']
return Response(f.content)
答案 0 :(得分:0)
您可能希望使用MultiPartParser来解析表单数据,以便可以在APIView上读取它,并且确定我们必须以multipart/form-data
的形式发送数据。像这样:
upload = {
'picture': open('image.jpeg', 'rb')
}
data = {
'id': 3
}
resp = requests.post('/upload_url/', files=upload, data=data)
和您的看法:
class Picture_Upload(APIView):
parser_classes = (MultiPartParser, FormParser, )
def post(self, request):
picture = request.data['picture']
id = request.data['id']
# Use your model to handle the uploaded file
return Response(status=200)