首页 > 解决方案 > 尝试将照片上传到烧瓶服务器

问题描述

我正在做一个项目,我在手机上拍照并上传到服务器。我目前有按钮工作,它返回图像的位置。我应该如何或添加什么来获得 base64 编码,或者我应该如何继续将其上传到烧瓶。谢谢

    <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>

标签: androidcordovaflask

解决方案


这里有两个问题。

1)您希望允许您的用户将文件上传到烧瓶。有一种内置的方法可以做到这一点。但是,我个人建议使用Flask-Uploads。这是一个 Flask 扩展,专为简化此操作而设计。

2) 您需要将文件转换为 base-64。有一个名为base64的内置模块


推荐阅读