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

QQ登录

只需一步,快速开始

查看: 4460|回复: 10

[处理中1] attachmentSimple组件上传成功后使用list中的img组件进行展示错误

[复制链接]

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
发表于 2016-9-13 08:59:07 | 显示全部楼层 |阅读模式
我使用attachmentSimple组件进行了文件上传,然后数据库中已经成功上传的数据

数据库中数据

数据库中数据

当我使用img展示的时候会显示没有图片,

实际展示效果

实际展示效果
我调试之后追寻路径,发现是因为找不到图片路径的原因,

调试错误是没有路径

调试错误是没有路径
但是我完全是按照官方所提供的js代码啊

JS代码

JS代码

而且这个时候我进入调试模式的时候,这里是有路径的

调试路径是能够找得到的

调试路径是能够找得到的
,请问是怎么回事呢?

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
 楼主| 发表于 2016-9-13 09:20:36 | 显示全部楼层
数据库中确实是有数据的,那么只能是路径的问题了,路径读取的时候读取了两个空值,我感觉问题应该出在这里,但我不知道应该怎么该,有没有人做过类似的指导一下,在线坐等。。。。
回复 支持 反对

使用道具 举报

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
 楼主| 发表于 2016-9-13 10:35:45 | 显示全部楼层
第一个问题已经解决了,现在已经能够获取到图片了, QQ图片20160913103145.png 是因为官方提供的JS的API中多了两个参数,去掉之后img可以显示图片了,现在的问题是list内的img,并不买账,只会显示第一条数据,我按照这里  http://docs.wex5.com/bex5-ui-question-list-10075/  这里进行了修改之后,现在的情况已经变成了这个样子了,调试工具显示获取不到任何路径,推测是因为在JS的引入中,并没有这个APIDocUtils = require('$UI/system/components/justep/docCommon/docUtil');, QQ图片20160913103359.png
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-9-13 13:50:57 | 显示全部楼层
本帖最后由 闰土 于 2016-9-13 13:52 编辑

这个路径明显不是一个图片,需要一个 getImageUrl方法转一下应该是,至于下面说的,只显示了第一条数据,检查一下你list 对应的data 是不是没有村上数据,断点调试一下
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
 楼主| 发表于 2016-9-13 17:19:01 | 显示全部楼层
闰土 发表于 2016-9-13 13:50
这个路径明显不是一个图片,需要一个 getImageUrl方法转一下应该是,至于下面说的,只显示了第一条数据,检 ...

当然不是图片了,是一个json字符串么,已经转过了,至于只显示第一条数据,如果没存上数据的话,那么那些文字也不应该有,而应该全部没有,而不是单单没有图片,这个控件太不好用了。。。
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-9-13 17:30:24 | 显示全部楼层
wangjikuen 发表于 2016-9-13 17:19
当然不是图片了,是一个json字符串么,已经转过了,至于只显示第一条数据,如果没存上数据的话,那么那些 ...

是你的转换函数复制错了,多复制了特殊字符“&”
回复 支持 反对

使用道具 举报

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
 楼主| 发表于 2016-9-13 17:53:52 | 显示全部楼层
qldsrx 发表于 2016-9-13 17:30
是你的转换函数复制错了,多复制了特殊字符“&”

是的。官方提供的多了两个,我删掉之后,就成了之后的了,可以显示第一张图片,而剩下的都没有
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-9-13 18:27:38 | 显示全部楼层
那你把剩下的不能显示的单独分析,无非就是2个原因:
1、参数传递错误
2、实际物理存储路径错误

那个图片是传到了/data/attachmentSimple/主键ID/下面的,首先你在wex5或bex5目录下搜索文件夹attachmentSimple,默认应该在其根目录下面,但是由于官方的代码有bug,调试模式下运行会跑到了runtime下面的站点目录里面去。当然,错误提示的路径也是很好的分析途径。如果在传图时,主键ID无法固定,那么传图后的保存文件夹就变得不可控制,这也是官方设计的这个组件的一个坑,知道了就可以避开,不知道会陷入无法自拔。
回复 支持 反对

使用道具 举报

59

主题

274

帖子

1178

积分

金牌会员

Rank: 6Rank: 6

积分
1178
QQ
 楼主| 发表于 2016-9-13 23:42:57 | 显示全部楼层
qldsrx 发表于 2016-9-13 18:27
那你把剩下的不能显示的单独分析,无非就是2个原因:
1、参数传递错误
2、实际物理存储路径错误

是的,我搜素了一下,在根目录下的data下,的确是有我上传的第一个图片,也就是能成功获取到的,但是却只有这一个是上传成功的,我完全不知道为什么这个是上传成功的,而别的只是理论上上传成功,数据库中写入,但实际的data下面没有,我也没办法重现当时的情况了,事实上,我根本不知道第一个是怎么传上去的 QQ图片20160913234120.png
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-9-14 13:46:11 | 显示全部楼层
显示失败的应该在那个undefined目录下面存着,也就是我前面分析的那个原因,上传时主键值为空,这个你只能修改那个控件源码,强制设置一个主键,或者修改后台接受代码,忽略主键值来存储。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 19:18 , Processed in 0.063387 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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