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

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: lmk123

[处理中3] 如何实现离线上传文档?

[复制链接]

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2019-1-2 11:14:26 | 显示全部楼层
jishuang 发表于 2018-12-28 15:34
要对应就需要自己读取数据库中值,然后给image赋值啊

现在可以将图片离线保存到本地,并且以base64编码的方式存储进sqlite数据库,在有网的时候图片可以加载出来,现在在有网的时候上传,这个我要怎么做呀,平台的上传有没有方法可以直接调用呀?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2019-1-2 11:55:15 | 显示全部楼层
平台需要的是文件,参考8楼发的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2019-1-3 16:28:30 | 显示全部楼层
本帖最后由 lmk123 于 2019-1-3 16:31 编辑
jishuang 发表于 2019-1-2 11:55
平台需要的是文件,参考8楼发的

我现在离线将数据保存到数据库中,然后有网的时候将图片上传到服务器上指定文件夹下,现在能够上传成功,我要怎么将上传的这张图片放到image中呢?保存到本地的可以显示,但是上传的显示不了,上传图片的路径为:/UI2/myClassmate/uploadfiles/WHQX-18-12-001/C8479DA9E5200001B06914F010C81936,我如下设置图片不现实,请问有什么问题吗?
我在js中设置如下:image.src = "/UI2/myClassmate/uploadfiles/WHQX-18-12-001/C8479DA9E5200001B06914F010C81936",请问要怎么设置呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2019-1-3 17:25:07 | 显示全部楼层
用什么上传的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2019-1-4 08:17:58 | 显示全部楼层
jishuang 发表于 2019-1-3 17:25
用什么上传的?

上传图片代码如下所示:
public static JSONObject  uploadPicfile(String imageData,String ownerID,String storeFileName){
                System.out.println("进入离线上传图片");
                String baasPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
                String docStorePath = baasPath + ".." + File.separator + ".."+ File.separator + "model" +File.separator + "UI2" +File.separator + "myClassmate" +File.separator+"uploadfiles" ;
                File docstoreDir = new File(docStorePath);
                if(!(docstoreDir.exists() && docstoreDir.isDirectory())){
                        docstoreDir.mkdirs();
                }                           
                String storePath = docStorePath + File.separator + ownerID;
                File storeDir = new File(storePath);
                if(!(storeDir.exists() && storeDir.isDirectory())){
                        storeDir.mkdirs();
                }      
                System.out.println("后台计算的baasPath的值:"+ baasPath);
                System.out.println("后台计算的docStorePath的值:"+ docStorePath);  
                System.out.println("后台计算的storeDir的值:"+ storeDir);
                BASE64Decoder decoder = new BASE64Decoder();
                try {                  
                        byte[] decodedBytes = decoder.decodeBuffer(imageData);

                        String imgFile = storePath + File.separator + storeFileName;
                        System.out.println("后台计算的imgFile的值:"+imgFile);
                        FileOutputStream out = new FileOutputStream(imgFile);
                        out.write(decodedBytes);
                        out.close();
                        System.out.println("图片上传成功!");
                } catch (Exception e) {
                        System.out.println("图片上传失败!");
                        e.printStackTrace();
                }
                return null;
        }
回复 支持 反对

使用道具 举报

86

主题

407

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

积分
1138
QQ
 楼主| 发表于 2019-1-4 08:20:52 | 显示全部楼层
lmk123 发表于 2019-1-4 08:17
上传图片代码如下所示:
public static JSONObject  uploadPicfile(String imageData,String ownerID,Str ...

js中代码如下:
var smallImage = document.getElementById(self.getIDByXID('image1'));
                var smallImage2 = document.getElementById(self.getIDByXID('image2'));

                // 执行SQL查询
                SqliteUtil.executeSql(db, "SELECT * FROM zh_workorder where ZH_DefectList = ?", [fid], onSuccess, onError);
                function onSuccess(res) {debugger;
                // 转换返回数据结果
                var table = SqliteUtil.rowsToTable(res.rows);
                var length = res.rows.length;
                alert(length+res.rows.item(0).enclosure);
                if(0< length){

                        var srcjson ='{"ownerID":"' + "WHQX - 18 - 12 - 001" + '","storeFileName":"' + "C8479DA9E5200001B06914F010C81936" + '"}';
                        var imageJson = eval("("+srcjson+")");
                        alert("imageJson:"+imageJson);
                         var storeFileName = imageJson.storeFileName;
                         alert(storeFileName);
                        var ownerID = imageJson.ownerID;                       
                        var url = "/UI2/myClassmate/uploadfiles/WHQX-18-12-001" + '?storeFileName=' + storeFileName + '&ownerID=' + ownerID ;
                        alert(url);
                        src = require.toUrl(url);
                        mainData.setValue("treatMethod",res.rows.item(0).treatMethod);//将检查前后的照片赋值
                        smallImage.src = res.rows.item(0).enclosure;//从本地加载图片
                        smallImage2.src = src;
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2019-1-4 10:15:40 | 显示全部楼层
如果是参考attachmentSimple实现的,那就参考attachmentSimple的获取url的方法去获取文件

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 16:34 , Processed in 0.056353 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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