class DemoAPIView(APIView):
parser_classes = (JSONParser, FormParser, MultiPartParser)
def post(self, request, format=None):
data = request.data
attached_file = request.FILES['attached_file']
description_image = data.get('descriptionImage', None)
attachment = dict(object_id=174, project=1, attached_file=attached_file,
description=description_image)
header = {'Authorization': 'Bearer eyJ1c2VyX2F1dGhlbnRpY2F0aW9uX2lkIjoxNn0:1gSTf6:KbOb0yhqC-qVPTEPRoiVBBZjN6M'}
r = requests.post('demo/api/v1/issues/attachments', data=attachment, headers=header)
print(r.json())
return Response({'error': 'ERROR XD'}, status=status.HTTP_400_BAD_REQUEST)
и ошибка, с которой меня загрузил API, следующая:
{'attached_file': ['No file was submitted. Check the encoding type on the form.']}
- это изображение, которое я отправил с клиента.распечатайте вложенный файл и просто покажите мне URL, видимо, в этом проблема.Есть ли способ получить полный файл?
Форма клиента:
const bodyFormData = new FormData();
if (typeof this.image !== 'string') {
bodyFormData.append('attached_file', this.image);
bodyFormData.append('descriptionImage', this.descriptionImage);
}
this.axios.post('/api/', bodyFormData,
{ headers: { 'Content-Type': 'multipart/form-data' } })
.then((response) => {
this.isSending = false;
this.$snackbar.open(response.data.results);
this.feedback = {};
this.image = {};
}).catch((err) => {
this.$snackbar.open({ message: err.response.data.error, type: 'is-danger' });
this.isSending = false;
});