Javascript 使用Django Rest Framework FileUploadParser和Angular文件上载将request.FILES清空

Javascript 使用Django Rest Framework FileUploadParser和Angular文件上载将request.FILES清空,javascript,django,angularjs,django-rest-framework,Javascript,Django,Angularjs,Django Rest Framework,我有一个通过模板上传文件的角度视图 Multiple <input type="file" name="file" nv-file-select="" uploader="uploader" multiple /><br/> Single <input type="file" name="file" nv-file-select="" uploader="uploader" /> 在服务器端,请求使其成为视图类中的正确方法 class FileUploa

我有一个通过模板上传文件的角度视图

Multiple
<input type="file" name="file" nv-file-select="" uploader="uploader" multiple  /><br/>

Single
<input type="file" name="file" nv-file-select="" uploader="uploader" />
在服务器端,请求使其成为视图类中的正确方法

class FileUploadView(views.APIView):

   parser_classes = (FileUploadParser,)

   def put(self, request, format=None):

     file_obj = request.FILES['file']
     # ...
     # do some staff with uploaded file
     # ...
     return Response(status=204)
但是,创建的Dict是空的

request.FILES['file']
(Pdb) *** django.utils.datastructures.MultiValueDictKeyError: "'file'"

看起来FileUploadParser中内置了一些未运行的解析异常,并且我正在通过网络发送正确类型的请求。为什么没有一种方法来说明这个请求没有被正确解析?我遗漏了什么?

首先确保您知道
请求.files
请求.files
之间的区别。前者用于Django Rest Framework 2.x,后者用于Django Rest Framework 3。由于某种原因,
FileUploadParser
没有正确解析空的dict,但是将解析器切换到
MultipartParser
成功了。请求中的
enctype
是多部分的,因此可能与此有关

request.FILES['file']
(Pdb) *** django.utils.datastructures.MultiValueDictKeyError: "'file'"