Представленные данные не были файлом. Проверьте тип кодирования в форме. < /P>
< /blockquote>
ниже приведен деталь. < /P>
Примечание: < /strong> Я также посмотрел на Framefide Django Rest Imagefield, и я попробовал < /p>
Код: Выделить всё
serializer = ImageSerializer(data=request.data, files=request.FILES)
TypeError: __init__() получено неожиданный аргумент ключевого слова «файлы»
У меня есть изображение модель, с которой я хотел бы взаимодействовать через структуру Django REST:
models.py
Код: Выделить всё
class Image(models.Model):
image = models.ImageField(upload_to='item_images')
owner = models.ForeignKey(
User, related_name='uploaded_item_images',
blank=False,
)
time_created = models.DateTimeField(auto_now_add=True)
Код: Выделить всё
class ImageSerializer(serializers.ModelSerializer):
image = serializers.ImageField(
max_length=None, use_url=True,
)
class Meta:
model = Image
fields = ("id", 'image', 'owner', 'time_created', )
< /code>
settings.py
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
input: < /h1>
Код: Выделить всё
{"owner": 5, "image": "data:image/jpeg;base64,/9j/4QqdRXhpZgAATU0A..."}
< /code>
В бэкэнде request.data < /code> показывает < /p>
{u'owner': 5, u'image': u'data:image/jpeg;base64,/9j/4QqdRXhpZgAATU0AKgAAA..."}
Код: Выделить всё
ReturnDict([('image', [u'The submitted data was not a file. Check the encoding type on the form.'])])
< /code>
Интересно, что я должен сделать, чтобы исправить ошибку? < /p>
edit: js part [/b]
Связанный [b] Front End [/b] коды состоит из двух частей: угловой файл -dnd
Код: Выделить всё
[i][/i]
Drap & drop your photo here
# A simple `Image` `model` to perform `POST`
$scope.image_resource = Image.$build();
$scope.upload = function() {
console.log("uploading");
$scope.image_resource.image = $scope.image;
$scope.image_resource.owner = Auth.get_profile().user_id;
return $scope.image_resource.$save();
};
< /code>
Обновление, касающееся проблемы: прямо сейчас я переключился на Использование Ng-file-Upload
Подробнее здесь: https://stackoverflow.com/questions/280 ... not-a-file