起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3929|回复: 13

[处理中3] 拍照后重命名图片

[复制链接]

3

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
发表于 2017-8-23 14:40:11 | 显示全部楼层 |阅读模式
如题,能在成功函数中重命名吗
发表于 2017-8-24 17:31:32 | 显示全部楼层
修改文件的名字! 只有原生代码才能做到!我没见到这样的插件!你可以自定义corodva插件实现,文件重名的功能!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2017-8-30 17:02:43 | 显示全部楼层
嗯,只能曲线重命名了。我的想法是利用file插件的copyto方法,但引用的时候提示不存在这个方法。
TIM截图20170830165848.png
TIM截图20170830165916.png
TIM截图20170830165952.png
回复 支持 反对

使用道具 举报

3

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2017-8-31 09:23:00 | 显示全部楼层
liangyongfei 发表于 2017-8-24 17:31
修改文件的名字! 只有原生代码才能做到!我没见到这样的插件!你可以自定义corodva插件实现,文件重名的功 ...

麻烦分析下
回复 支持 反对

使用道具 举报

发表于 2017-9-1 10:28:45 | 显示全部楼层

不存在方法,有可能是插件没打包在APP中导致的!
http://docs.wex5.com/wex5-app-question-list-2039/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2017-9-1 10:34:41 | 显示全部楼层
liangyongfei 发表于 2017-9-1 10:28
不存在方法,有可能是插件没打包在APP中导致的!
http://docs.wex5.com/wex5-app-question-list-2039/ ...

我是通过apploader调试的,不是apk
回复 支持 反对

使用道具 举报

48

主题

147

帖子

1575

积分

金牌会员

Rank: 6Rank: 6

积分
1575
QQ
发表于 2017-9-1 13:25:22 | 显示全部楼层

1、在拍照成功的回调中获得图片的base64;// 拍照成功之后的回调
                function onSuccess(imageURI) {

                        var dfd = $.Deferred();

                        window.resolveLocalFileSystemURI(imageURI, function(entry) {

                                entry.file(win, fail);

                                function win(file) {
                                        var reader = new FileReader();
                                        reader.onload = function(evt) {
                                                var base64String = evt.target.result;
                                                // 此处调用保存图片的操作                                       
                                                reader.abort();
                                                dfd.resolve();
                                        };
                                        reader.readAsDataURL(file);
                                }
                        }, function() {
                                dfd.resolve();
                        });
                }





2、resolveLocalFileSystemURL存储文件。

// 将图片保存到手机目录下的操作,// 第一个参数为base34字符串,第二个参数为保存图片的名字,第三个参数为图片的格式
        Model.prototype.saveFile = function(base64Str, fileName, fileType) {
                var self = this;
                window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "DCIM/Camera", function(root) {
                        root.getFile(fileName, {
                                create : true
                        }, function(dirEntry) {
                                dirEntry.createWriter(gotFileWriter, fail);
                        }, function(err) {
//                                justep.Util.hint("创建文件夹失败");
                        });
                        layer.msg("创建文件夹失败");
                }, function(err) {
//                        justep.Util.hint("打开文件夹失败");
                        layer.msg("打开文件夹失败");
                });
               
                function gotFileWriter(writer) {
                        writer.seek(0); // 将文件指针指向文件的尾部
                        writer.write(self.convertBase64UrlToBlob(base64Str, fileType));
                        // 文件存储在手机上的路径
//                        justep.Util.hint("保存成功,位置:相册/" + fileName, {
//                                "type" : "success",
//                                "delay" : 2000,
//                                "position" : "middle"
//                        });
                        layer.msg("保存成功,位置:相册/" + fileName);
                }

                function fail(error) {
//                        justep.Util.hint("未执行" + error.code);
                        layer.msg("未执行" + error.code);
                }
        };




回复 支持 反对

使用道具 举报

发表于 2017-9-1 16:23:37 | 显示全部楼层
我行我素 发表于 2017-9-1 10:34
我是通过apploader调试的,不是apk

那你打包试试吧!
提示不存在这个方法  ,如果是插件方法不存在!那就是没有打包进去这个插件的原因!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2017-9-1 17:06:42 | 显示全部楼层
liangyongfei 发表于 2017-9-1 16:23
那你打包试试吧!
提示不存在这个方法  ,如果是插件方法不存在!那就是没有打包进去这个插件的原因! ...

其实我想问下我调用的是否正确
回复 支持 反对

使用道具 举报

发表于 2017-9-1 17:38:44 | 显示全部楼层
我行我素 发表于 2017-9-1 17:06
其实我想问下我调用的是否正确

看文档!应该是不对的
http://docs.wex5.com/cordova-plugin-file/

fileEntry 对象是在回调函数中获取的!不能直接调用 !
参考文档的写法
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 22:05 , Processed in 0.114100 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表