Ich versuche, Dateiupload mit DRF und jQuery zu erstellen. Ich googelte und fand this sample. Ich habe einige ähnlichen Code auf Beckand:Django Rest Framework und Datei-Upload
class Attachment(BaseModel):
file = models.FileField(upload_to=get_photo_path)
class AttachmentSerializer(serializers.ModelSerializer):
class Meta:
model = models.Attachment
fields = ('id', 'file')
class AttachmentViewSet(viewsets.ModelViewSet):
parser_classes = (FileUploadParser,)
serializer_class = serializers.AttachmentSerializer
queryset = models.Attachment.objects.all()
def pre_save(self, obj):
obj.file = self.request.FILES.get('file')
und versuchte Angular Probe jQuery
var fd = new FormData()
fd.append('file', file) // file from file-field
var reader = new FileReader()
$.ajax({
url: 'http://localhost:8001/files/',
data: fd,
processData: false,
contentType: false,
type: 'POST'
}).done(...
Für einige Gründe, warum ich auf Backend einen Fehler haben zu übersetzen, wenn versuchen, eine Datei zu laden:
detail: "FileUpload parse error - none of upload handlers can handle the stream"