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

QQ登录

只需一步,快速开始

查看: 8850|回复: 10

[分享] 关于attachmentSimple路径错误及文件夹生成的undefined解决办法

  [复制链接]

23

主题

111

帖子

1255

积分

金牌会员

Rank: 6Rank: 6

积分
1255
QQ
发表于 2016-8-14 10:24:59 | 显示全部楼层 |阅读模式
本帖最后由 hisoon 于 2016-8-14 10:33 编辑

首先,楼主昨天晚上(oh 不,应该是今天凌晨4点钟)还没睡,就捣鼓这个鸡巴undefined文件夹的错误产生原因。4点也没捣鼓出来,最后洗洗睡了。大热天啊有木有,今年怎么这么热
今天早上参考好友们的一些说法,自己动了动脑。
终于明白,我敢说我这个教程绝对是最科学最透彻的---绝对碾压justep的老师哦(哈哈,请允许我吹吹牛,因为这不容易啊,一晚上的成果,请justep老师别生我气)



为什么会undefined文件夹呢?


首先,我们要搞清楚这个“attachmentsimple”的生成文件的时机,和正个页面前短端““提交按钮”的生成时机。以下面例子为例:
DONGLE5.jpg dongle6.jpg bangding.PNG
注意 我第一张图中1和2两个标号的顺序,如果以这样的数据组织形式,最终的image组件呈现页面需要从loadData解析图片地址

如果想要两个数据(achedata)和loaddata中数据一致(数据一致才能显示图片啊),则

所以需要先给时机1,也就是点击文件上传按钮时一个xxxID值,然后再把这个xxxID给时机2
所以,如果你在1之前的时候忘了给achedata赋ID值,alert(this.comp("acheData").val("fID"));一下achedata则会出现
DONGLE-1.PNG

这就是undefined文件产生的原因!
解决办法:



在1触发之前(模块加载的时候)来一个全局变量给一个初值
先定义变量
dingyi.PNG

模块加载,给acheData的fID赋值

jiazai.PNG



在触发2的时候把这个全局变量再赋值给laodData对应的fID
FUZHI2.PNG


这样两者的URL就一致了!




怕大家不明白,再说一下流程
quanbu.jpg





评分

参与人数 3威望 +60 收起 理由
ilovethislinux + 10
Masion + 20 很给力!
liangyongfei + 30 很给力!

查看全部评分

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-8-14 11:51:53 | 显示全部楼层
  1. 我是引入这段代码 Model.prototype.getImageUrl = function(url, ownerID) {
  2.                 if (url) {
  3.                         try {
  4.                                 var jsonList = eval("(" + url + ")");
  5.                                 if (jsonList instanceof Array) {
  6.                                         var realFileName = jsonList[0]["realFileName"];
  7.                                         var storeFileName = jsonList[0]["storeFileName"];
  8.                                         var operateType = "browse";
  9.                                         var url = '/baas/justep/attachment/simpleFileStore?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + ownerID + '&operateType=' + operateType;
  10.                                         return require.toUrl(url);
  11.                                 }
  12.                         } catch (e) {
  13.                                 console.log(e);
  14.                         }
  15.                 }
  16.                 return "";
  17.         };
  18.       
复制代码
然后在bind-attr-src里引用这个函数时,直接改成$model.getImageUrl( $model.ksxxData.val("ks_zt"), 'image')这样,这样就是所有图片放在image文夹下,不用按ID去新建文件夹存放了
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

23

主题

111

帖子

1255

积分

金牌会员

Rank: 6Rank: 6

积分
1255
QQ
 楼主| 发表于 2016-8-14 13:03:40 | 显示全部楼层
郭德成 发表于 2016-8-14 11:51
然后在bind-attr-src里引用这个函数时,直接改成$model.getImageUrl( $model.ksxxData.val("ks_zt"), 'imag ...

存到哪个文件夹得在Simplestor.java里配置
回复 支持 反对

使用道具 举报

23

主题

111

帖子

1255

积分

金牌会员

Rank: 6Rank: 6

积分
1255
QQ
 楼主| 发表于 2016-8-14 13:05:07 | 显示全部楼层
hisoon 发表于 2016-8-14 13:03
存到哪个文件夹得在Simplestor.java里配置

只要能保证Simplestore那个java生成的地址和你的图片绑定地址一样就行。
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-8-14 13:37:28 | 显示全部楼层
我这个方法,能存得进去,能显示得出来,应该就行了吧
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复 支持 反对

使用道具 举报

29

主题

119

帖子

189

积分

初级会员

Rank: 2

积分
189
QQ
发表于 2016-8-15 09:46:57 | 显示全部楼层
官方给出了解决思路,但是没有时间做详细,论坛需要你这样的人
回复 支持 反对

使用道具 举报

23

主题

111

帖子

1255

积分

金牌会员

Rank: 6Rank: 6

积分
1255
QQ
 楼主| 发表于 2016-8-15 10:32:45 | 显示全部楼层
dearshine 发表于 2016-8-15 09:46
官方给出了解决思路,但是没有时间做详细,论坛需要你这样的人



大家好才是真的好!
回复 支持 反对

使用道具 举报

9

主题

59

帖子

297

积分

中级会员

Rank: 3Rank: 3

积分
297
QQ
发表于 2016-8-19 13:43:28 | 显示全部楼层
必须赞一个,纠结这个问题好久了,官网一直也没有一个详细的解释,感谢楼主分享
回复 支持 反对

使用道具 举报

23

主题

111

帖子

1255

积分

金牌会员

Rank: 6Rank: 6

积分
1255
QQ
 楼主| 发表于 2016-8-19 14:55:25 | 显示全部楼层
Hebe 发表于 2016-8-19 13:43
必须赞一个,纠结这个问题好久了,官网一直也没有一个详细的解释,感谢楼主分享 ...

官方不负责
回复 支持 反对

使用道具 举报

25

主题

192

帖子

715

积分

高级会员

Rank: 4

积分
715
QQ
发表于 2021-3-8 09:23:21 | 显示全部楼层
官方?早就不是那帮人了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 10:18 , Processed in 0.075182 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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