Загрузка изображений с помощью запроса RAW JSON POST?DRF - Django Rest Framework - PullRequest
0 голосов
/ 19 марта 2019

Как загрузить изображения с необработанными запросами json.Использование Django REST в качестве бэкэнда.

Пример:

{ 
   'name':'RK Villa',
   'address':'Addres goes here'
   'images':[{'name':'Front','image':'local/url'},{'name':'Front','image':'local/url'}]
}

Файл не прикрепляется.Я пытаюсь отправить это в структуру отдыха Django.

1 Ответ

0 голосов
/ 20 марта 2019

Для загрузки изображения или файла вам необходимо использовать элемент html <form></form>. Затем вы получаете этот файл с помощью JavaScript FormData. И, наконец, отправьте этот FormData объект на сервер через ajax. Следуйте приведенному ниже примеру.

<form enctype="multipart/form-data">
    <input type="text" id="book_name">
    <input type="file" id="book_image">
    <button type="submit" id="submit_btn">Submit</button>
</form>

<script>
    $('#submit_btn').click(function(){
        var book_name = $('#book_name').val();
        var book_image = $('#book_image')[0].files[0];

        //I need to create a FormData object
        var fd = new FormData();

        fd.append('backend_book_name', book_name);
        fd.append('backend_book_image', book_image);

        //'backend_book_name' & 'backend_book_image' must be same to your drf model field name

        $.ajax({
            type:'post',
            url: 'http://localhost:8000/YOUR_URL',
            data: fd,
            processData: false,
            contentType: false,
            success: function(res){
                console.log(res);
            }
        });
    });  
</script>

Не забудьте установить атрибут 'enctype = multipart / form-data' в вашей HTML-форме.

...