如何上传带有原始json请求的图像。使用Django REST作为后端。
示例:
{
'name':'RK Villa',
'address':'Addres goes here'
'images':[{'name':'Front','image':'local/url'},{'name':'Front','image':'local/url'}]
}
文件未附加。我正在尝试将此发送到Django rest框架。
答案 0 :(得分:0)
要上传图片或文件,您需要使用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>
别忘了在HTML表单中设置属性“ enctype = multipart / form-data”。