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

QQ登录

只需一步,快速开始

楼主: tlkj

[处理中] 手机拍照上传

[复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-7-4 15:05:23 | 显示全部楼层
Model.prototype.modelLoad = function(event){
                data = this.comp("uploadData");
                var personName = this.getContext().getCurrentPersonName();               
                data.setFilter("filter1","Pic.personName ='"+personName+"'");
                data.refreshData();
                if(data.getCount()==0){
                        data.newData();
                }
               
        };
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-7-4 16:04:39 | 显示全部楼层
这个实现了。。太感谢您了。还有个就是,如果我想赋予一个用户可以查看到这个所有的上传记录这个还能实现吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-7-4 16:14:50 | 显示全部楼层
那就自己判断当前人如果是你指定的用户就不用filter去过滤数据,直接刷新数据就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-7-4 19:58:03 | 显示全部楼层
本帖最后由 tlkj 于 2016-7-4 20:01 编辑

1.在拍照上传这个功能中如果,想要实现上传一张照片在数据库中就生成一条记录,
而不是像之前那样,上传一张照片就在text字段中生成一条记录这样一直排下去,
从x5的角度怎么这个应该怎么实现呢?重写saveaction???

2.在什么地方执行insert和update的?在什么地方转json的?

3.怎么实现一张图片是一个json串,还有这个text字段里面的docID fileId等字段有什么做用呢?

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-7-5 09:12:54 | 显示全部楼层
那就自己在保存前事件中自己获取json传,判断长度,然后自己遍历取值,给data执行newData把遍历的值赋值进去

docID和fileId在查看、编辑等操作附件的是都需要用到
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-7-5 13:45:10 | 显示全部楼层
您好我自己写了一个例子遍历这个json串,为啥用到这里面就取不出来了呢?
var data1=[{"name":"a","age":12},{"name":"b","age":11},{name:"c",age:13},{name:"d",age:14}];  
      for(var o in data1){  
           alert("text:"+data1[o].name+" value:"+data1[o].age );  
      }  
       
       
                var data = this.comp("uploadData");
                var uploadAddr = data.getValue("uploadAddr");
                var jsonList = eval("(" + uploadAddr + ")");

                var m = JSON.stringify(jsonList);
                alert(m);
                for(var r in m){         
                    alert("docID:"+m[r].docID+" docName:"+m[r].docName );  
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-7-5 14:03:35 | 显示全部楼层
var jsonList = eval("(" + uploadAddr + ")"); 先把jsonList字符串转为对象

                var m = JSON.stringify(jsonList);再把json对象转为字符串
不知道你要做什么?
截取json就是js标准的,都是js的基础,在网上就能查到好多

通过json对象中取数据
var jsonList = eval("(" + fAttachmentPicture + ")");//把json串转换为json对象
                if (jsonList.length > 0) {
                        for (var i = 0; i < jsonList.length; i++) {
                                var docID = jsonList[i]["docID"];
                        }
                 }
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-7-5 14:10:16 | 显示全部楼层
jishuang 发表于 2016-7-5 09:12
那就自己在保存前事件中自己获取json传,判断长度,然后自己遍历取值,给data执行newData把遍历的值赋值进 ...

您这个说的遍历取值,再赋值?
是把json串里的所有字段的值都遍历出来是吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-7-5 14:37:50 | 显示全部楼层
105说的是把json中有好多项如
[{"docID":"C720D2D328A0000169B0822013DCEC50","docName":"10.jpg","size":"4880","docPath":"/defaultDocNameSpace","fileID":"391-defaultDocNameSpace","time":"2016-07-01T11:27:53.603Z"},{"docID":"C720D2D262F0000178957619111DA4A0","docName":"2.jpg","size":"6293","docPath":"/defaultDocNameSpace","fileID":"390-defaultDocNameSpace","time":"2016-07-01T11:27:53.348Z"},{"docID":"C720D2D195A00001C0F3850815081870","docName":"1.jpg","size":"10188","docPath":"/defaultDocNameSpace","fileID":"389-defaultDocNameSpace","time":"2016-07-01T11:27:53.056Z"}]
中3个颜色就是json串中有3个子项,对附件组件来说这个就是存了一个附件,你要附件一条数据,那就遍历json把后面的两项取出来,然后新建数据数据把后面的两个分别新增的数据去保存

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



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-7-5 15:23:32 | 显示全部楼层
Model.prototype.uploadDataBeforeSave = function(event){

  var data = this.comp("uploadData");
  var uploadAddr = data.getValue("uploadAddr");
  var jsonList = eval("(" + uploadAddr + ")");
  var m = JSON.stringify(jsonList);
  for(var i=0; i<jsonList.length; i++)
  {
   alert(JSON.stringify(jsonList[i]));
  }
};
这是遍历json串中的一整串数据,那我赋值应该怎么赋值啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 05:38 , Processed in 0.072477 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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