我正在一个项目中,我在手机上拍照并上传到服务器。我目前可以使用该按钮,它可以返回图像的位置。我应该如何或怎样添加才能获得base64编码,或者如何继续将其上传到flask。谢谢
<div class="page">
<p><img src="img/logo.png" alt="image" id="photo" /></p>
<p><button id="btn">Take Picture</button></p>
<p id="msg"></p>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script>
let app = {
init: function(){
document.getElementById('btn').addEventListener('click', app.takephoto);
},
takephoto: function(){
let opts = {
quality: 80,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
mediaType: Camera.MediaType.PICTURE,
encodingType: Camera.EncodingType.JPEG,
cameraDirection: Camera.Direction.BACK,
targetWidth: 300,
targetHeight: 400
};
navigator.camera.getPicture(app.ftw, app.wtf, opts);
},
ftw: function(imgURI){
document.getElementById('msg').textContent = imgURI;
document.getElementById('photo').src = imgURI;
},
wtf: function(msg){
document.getElementById('msg').textContent = msg;
}
};
document.addEventListener('deviceready', app.init);
</script>
</body>
答案 0 :(得分:0)
这里有两个问题。
1)您想允许用户将文件上传到flask。有一种内置方法可以做到这一点。但是,我个人建议使用Flask-Uploads。这是一个Flask扩展程序,专门用于简化此操作。
2)您需要将文件转换为base-64。为此有一个内置模块base64