上传的文件 Django rest 框架中包含的标头和边界



我正在使用Django Rest Framework通过ajax将csv文件上传到Django。 我一切正常,但来自请求标头的数据包含在文件内容中。

我预计这些标头已从文件内容中删除,因此文件看起来与上传的文件完全相同。

有什么想法吗?

姜戈视图

class FileUploadView(APIView):
parser_classes = (FileUploadParser, )
def post(self, request, format=None):    
file = request.FILES['file']
fs = FileSystemStorage()
fs.save('output.csv', file)

输入.csv:

Date,Customer,Team Member,Services
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
...

输出.csv:

------WebKitFormBoundarycaNCidFSnOuN1u0G
Content-Disposition: form-data; name="file"; filename="input.csv"
Content-Type: text/csv
Date,Customer,Team Member,Services
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
09-25-2018 03:30 PM,Suzy16 Neil16,Suzy,Men's Haircut | Legs
...
------WebKitFormBoundarycaNCidFSnOuN1u0G--

来自 HTTP 请求的相关标头:

Content-Disposition: attachment; filename=services.csv
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarycaNCidFSnOuN1u0G

MultiPartParser是我正在寻找的,因为前端将表单作为多部分表单发送。

class FileUploadView(APIView):
parser_classes = (MultiPartParser,)
...

最新更新