mui 图片转base64上传

这段代码有许多不足之处 可优化的地方有许多 亲各位大佬指教

毕竟对于mui理解有限 我就不对下面代码进行讲解

function choosePhoto() {
                    if (mui.os.plus) {
                        var buttonTit = [{
                            title: "拍照"
                        }, {
                            title: "从手机相册选择"
                        }];

                        plus.nativeUI.actionSheet({
                            title: "上传图片",
                            cancel: "取消",
                            buttons: buttonTit
                        }, function(b) { /*actionSheet 按钮点击事件*/
                            switch (b.index) {
                                case 0:
                                    break;
                                case 1:
                                    getImage(); /*拍照*/
                                    break;
                                case 2:
                                    galleryImg(); /*打开相册*/
                                    break;
                                default:
                                    break;
                            }
                        })
                    }
                };


                // 拍照获取图片
                function getImage() {
                    //调用相机
plus.camera.getCamera().captureImage(function(e) {
                        //获取file对象entry
plus.io.resolveLocalFileSystemURL(e, function(entry) {
                            var path = entry.toLocalURL();
                            entry.file(function(file) {
                                vm.paths.push(path)
                                $('.getPhoto').val(file.name)
                                vm.fileName = file.name
//new plus.io.FileReader()方法
                                var reader = new plus.io.FileReader();
                            
reader.onloadend = function(e) {
//e获取到对象        e.target.result是图片base64
                                upload(e.target.result, file.name)  
                                }
                                reader.readAsDataURL(file);
                            })
                        }, function(e) {
                            mui.toast("读取拍照文件错误:" + e.message);
                        });
                    });
                }

                //从相册中选择图片 
                function galleryImg() {
                    // 从相册中选择图片
                    plus.gallery.pick(function(path) {
                plus.io.resolveLocalFileSystemURL(path, function(entry) {
                            entry.file(function(file) {
                                var paths = entry.toLocalURL();
                                vm.fileName = file.name
                                vm.paths.push(paths)
                                $('.getPhoto').val(file.name)
                            
                                var reader = new plus.io.FileReader();
                                reader.onloadend = function(e) {
                                    upload(e.target.result, file.name)
                                }
                                reader.readAsDataURL(file);
                            })
                        }, function(e) {
                            plus.nativeUI.toast("读取拍照文件错误:" + e.message);
                        });
                    });
            
                function upload(base64, fileName) {
                    var wt = plus.nativeUI.showWaiting();
                    mui.ajax({
                        type: "POST",
                        url: zfyurl + "/app/api/order/uploadFile",
                        data: {
                            base64: base64, //base64数据
                            fileName: fileName
                        },
                        dataType: "json",
                        success: function(response) {
                            plus.nativeUI.closeWaiting();
                            if (response.code == 'M000000') {
                                vm.enclosure = response.info
                                mui.toast("上传成功");
                            } else {
                                mui.toast("上传失败")
                            }
                        },
                        error: function(err) {
                            plus.nativeUI.closeWaiting();
                            console.log(JSON.stringify(err))
                        
                }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容