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

QQ登录

只需一步,快速开始

楼主: 高飞

[结贴] 保存文件的方法不会被执行

[复制链接]

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2015-11-28 10:20:11 | 显示全部楼层
没有对应的API,还有保存附件的问题还没有完全解决,现在是能保存的文件了,但文件的内容不正确,也就是保存出来的文件是无效的,我现在是这样C#做服务器,C#服务器把文件进行base64编码传到手机端,手机端
                                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
                                               
                                                function(fileSystem) {
                    fileSystem.root.getFile(saveFileName,
                                    {create: true, exclusive: false},
                                   
                            function(entry) {
                        entry.createWriter(function(writer){
                               
                            writer.write(Base64.decode(data));
                        });
                        
                    });
                });
手机端进行base64解码后保存到手机上,不知道哪里有问题。
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2015-11-29 15:21:34 | 显示全部楼层
高飞 发表于 2015-11-28 10:20
没有对应的API,还有保存附件的问题还没有完全解决,现在是能保存的文件了,但文件的内容不正确,也就是保 ...

你说的保存文件,说白了就是讲一个文件下载到指定的文件夹下!
请使用cordova文件的下载功能实现,可以吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2015-11-30 21:07:35 | 显示全部楼层
cordova文件的下载好像只能是要url因为我现在是没有web服务器的,所以没有url地址。
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 09:32:24 | 显示全部楼层
高飞 发表于 2015-11-28 10:20
没有对应的API,还有保存附件的问题还没有完全解决,现在是能保存的文件了,但文件的内容不正确,也就是保 ...

你自己调试看看!你不是说保存文件没问题了!就是内容不正确吧!debugger调试看看是不是base64的原因!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2015-12-1 11:48:07 | 显示全部楼层
应该是他把图片内容作为字符保存到文件中了。
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2015-12-1 11:53:43 | 显示全部楼层
也就是作为文本一样保存了。
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 11:55:53 | 显示全部楼层
高飞 发表于 2015-12-1 11:48
应该是他把图片内容作为字符保存到文件中了。

这个你上网找下方法把!看js是否能吧base64输出为文件!如果不能就只好服务器直接下载这个图片了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

发表于 2015-12-1 12:57:10 | 显示全部楼层
本帖最后由 liangyongfei 于 2015-12-1 12:58 编辑
高飞 发表于 2015-12-1 11:53
也就是作为文本一样保存了。

参考:http://www.cnblogs.com/mofish/ar ... 889126.html#1970751
http://www.3lian.com/edu/2014/03-18/135224.html
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

73

主题

248

帖子

657

积分

高级会员

Rank: 4

积分
657
QQ
 楼主| 发表于 2015-12-1 16:20:45 | 显示全部楼层
                        function gotFileWriter(writer) {
                                data1='iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
                                data2='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';
                                writer.seek(0);
                                writer.write(b64toBlob(data, 'image/png', 512));
                        }
                        function b64toBlob(b64Data, contentType, sliceSize) {
                                try {
                                        contentType = contentType || '';
                                        sliceSize = sliceSize || 512;
                                        var byteCharacters = atob(b64Data);
                                        var byteArrays = [];

                                        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
                                                var slice = byteCharacters.slice(offset, offset + sliceSize);

                                                var byteNumbers = new Array(slice.length);
                                                for (var i = 0; i < slice.length; i++) {
                                                        byteNumbers[i] = slice.charCodeAt(i);
                                                }

                                                var byteArray = new Uint8Array(byteNumbers);

                                                byteArrays.push(byteArray);
                                        }

                                        var blob = new Blob(byteArrays, {
                                                type : contentType
                                        });
                                        return blob;
                                } catch (e) {
                                        self.comp("messageDialog1").show({
                                                "title" : "温馨提示",
                                                "message" : e.message
                                        });
                                }
                                return null;
                        }

data1是网上获取的一个base64的图片,保存到手机没有问题,能正确保存图片。
data2是我的服务器返回的一个图片的base64字符串,执行到var byteCharacters = atob(b64Data);出错,提示字符编码不正确,所以现在的问题是C#生成的base64字符串不能给js正确解码!
企邦-带领企业进入智能化时代!
www.qeebane.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 16:25:29 | 显示全部楼层
高飞 发表于 2015-12-1 16:20
function gotFileWriter(writer) {
                                data1='iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQ ...

你网上找找方法,使用js处理base64字符串,得到图片的方法,应该是和C#没什么关系的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 09:34 , Processed in 0.062994 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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