在django rest框架中,我可以使用danialfarid/ng-file-upload上传单个文件
views.py:
class PhotoViewSet(viewsets.ModelViewSet):
serializer_class = PhotoSerializer
parser_classes = (MultiPartParser, FormParser,)
queryset=Photo.objects.all()
def perform_create(self, serializer):
serializer.save(blogs=Blogs.objects.latest('created_at'),
image=self.request.data.get('image'))
Run Code Online (Sandbox Code Playgroud)
serializers.py:
class PhotoSerializer(serializers.ModelSerializer):
class Meta:
model = Photo
Run Code Online (Sandbox Code Playgroud)
models.py:
class Photo(models.Model):
blogs = models.ForeignKey(Blogs, related_name='blogs_img')
image = models.ImageField(upload_to=content_file_name)
Run Code Online (Sandbox Code Playgroud)
当我尝试上传多个文件时.我进去了
chrome开发人员工具:请求有效负载
------WebKitFormBoundaryjOsYUxPLKB1N69Zn
Content-Disposition: form-data; name="image[0]"; filename="datacable.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryjOsYUxPLKB1N69Zn
Content-Disposition: form-data; name="image[1]"; filename="datacable2.jpg"
Content-Type: image/jpeg
Run Code Online (Sandbox Code Playgroud)
响应:
{"image":["No file was submitted."]}
Run Code Online (Sandbox Code Playgroud)
我不知道如何编写用于上传多个文件的序列化程序.任何身体请帮助.
提前致谢