使用javascript将base64编码到服务器

时间:2017-03-03 07:26:37

标签: ajax post base64

将图像上传到服务器,图像来自,然后我想通过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;
&#13;
&#13;

1 个答案:

答案 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]);
    }
}