Заголовки и границы включены в загруженный файл. - PullRequest
0 голосов
/ 28 сентября 2018

Я загружаю CSV-файл в Django через ajax, используя Django Rest Framework.У меня все работает, но данные из заголовков запросов включены в содержимое файла.

Я ожидал, что эти заголовки были удалены из содержимого файла, поэтому файл будет выглядеть точно так же, как загруженный файл.

Есть идеи?

...

Просмотр Django

class FileUploadView(APIView):
    parser_classes = (FileUploadParser, )

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

input.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
...

output.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

1 Ответ

0 голосов
/ 02 октября 2018

MultiPartParser - это то, что я искал, так как клиент отправлял форму в виде составной формы.

class FileUploadView(APIView):
    parser_classes = (MultiPartParser,)
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...