Django : Сохранение буфера в поле FileField
Мне нужно сохранить файл, полученный с сервера express(nodejs) в формате поля файла django
Django==2.0
class DoctorFileUpload(views.APIView): permission_classes = (AllowAny, )
def post(self, request, *args, **kwargs):
fileFromRequest = request.data['doctorfile']
newFile = dict()
newFile['format'] = fileFromRequest['mimetype']
newFile['doctor'] = request.userprofile.doctoraccount.id
newFile['file'] = ContentFile(
fileFromRequest['buffer'], name=fileFromRequest['originalname'])
doctorfile_srz = DoctorFileSrz(data=newFile)
if doctorfile_srz.is_valid():
doctorfile_srz.save()
return toolsViews.ResponseHandler(
status.HTTP_202_ACCEPTED,
{
'doctorfile': doctorfile_srz.data
}
)
else:
return toolsViews.ResponseHandler(
status.HTTP_400_BAD_REQUEST,
{},
errors=doctorfile_srz.errors
)
Мне нужно сохранить файл в FileField Django Model, есть запрос :
{
doctorfile: {
fieldname: 'file',
originalname: 'Capture d’écran 2022-10-06 à 10.33.56.png',
encoding: '7bit',
mimetype: 'image/png',
buffer: { type: 'Buffer', data: [Array] },
size: 134774
},
category: 'OT'
}
Я не знаю, как сделать, я проверил документацию, но не нашел решения... Нужно ли мне конвертировать в формат b64 или другой формат перед сохранением?
вот ошибка, когда я пробовал код :
TypeError: a bytes-like object is required, not 'dict'