@Mimuss

Как послать ajax'ом бинарные данные на дранку?

Скажем имеется такое:
var data = new FormData(this);
                    data.append('csrfmiddlewaretoken', Cookies.get('csrftoken'));
                    data.append('author', meta.creator);
                    data.append('title', meta.bookTitle);
                    data.append('enctype', 'multipart/form-data');
                    $.ajax({
                        url: 'ajax/add/',
                        type: 'POST',
                        cache: false,
                        data: data,
                        processData: false,
                        contentType: false,
                        success: function (data) {
                            console.log('success')
                        },
                        error: function (data) {
                            console.log('error at books/ajax/add')
                        }
                    })

и вот такая вьюха
def add_book(request):
    if request.method == 'POST':
        print(request.FILES.get('epub'))
        print(request.POST.get('title'))
        print(request.POST.get('author'))
    else:
        return HttpResponseBadRequest()


при этом почему то он выводит такое:
None
War and Peace
Lev Nikolayevich Tolstoy

То есть в словаре request.FILES вовсе нет 'epub'
сама форма
<form method="POST" enctype="multipart/form-data" action="{% url 'books:add' %}">
        <input type="file" accept="application/epub+zip" id="bookChooser" name="epub">
        <button class="btn btn-primary">Submit</button>
    </form>
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы