将图像上传到服务器,图像来自,然后我想通过ajax将图像发布到服务器,服务器端使用python flask框架,它需要base64编码格式,问题是如何使用javascript将图像转换为base64格式
$('.img-upload-btn').click(function(event) {
$("#img-upload").click();
});
$('#img-upload').on('change', function(event) {
event.preventDefault();
var img = $("#img-upload")[0].files[0];
console.log(toDataUrl(img.name));
var img_data = {
"spec_id": 212,
"file": img
};
console.log(img);
$.ajax({
url: 'http://10.0.0.75:5000/api/check_specification',
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(data) {
alert(data);
},
failure:function(errorMsg) {
alert(errorMsg);
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn-search full-width img-upload-btn">upload-img</button>
<input type="file" id="img-upload" >
&#13;
答案 0 :(得分:2)
像这样的东西,你可以在base64中获得图像。
fileChange(e) {
/* any way to get the object input */
var file = document.querySelector('input[type=file]');
let reader = new FileReader();
if(file.files[0]) {
reader.onload = () => {
imgBase64 = reader.result;
console.log(reader.result);
//your request
}
reader.readAsDataURL(file[0]);
}
}