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

QQ登录

只需一步,快速开始

查看: 2626|回复: 9

[暂结贴(7天未回复)] image显示数据库图片

[复制链接]

32

主题

109

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
QQ
发表于 2016-3-22 10:29:13 | 显示全部楼层 |阅读模式
1.png 2.png 3.jpg 4.png

你好,图中是使用attachmentsimple上传图片并使用image显示出来的过程,其中图一为获取图片url的js代码,图二图三显示已经获取了图片的url,但是图中的image依然没显示出数据库的图片,图四是image的bind-attr-src属性绑定的url方法;
      官方的attachmentsimple组件说明看过了,外卖的视频案例也看过了,论坛暗夜的忧伤等帖子也研究过两天了,没能找出问题来啊,请问这是哪一步出问题了吗?求指教谢谢!
发表于 2016-3-22 13:10:04 | 显示全部楼层
你是访问的.j  那就是必须跑的UIServer才可以!
获取图片url地址的方法应该是 attachmentSimple 组件的方法!
getFileUrl:
http://bbs.wex5.com/forum.php?mo ... 0&pid=165153630

首先,你获得这个地址,然后在浏览器的地址栏中输入,测试下是否可以正常访问到图片!
如果可以!把这个url给data字段赋值 , bind-attr-src属性只需要绑定这个字段即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

32

主题

109

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
QQ
 楼主| 发表于 2016-3-22 17:05:45 | 显示全部楼层
liangyongfei 发表于 2016-3-22 13:10
你是访问的.j  那就是必须跑的UIServer才可以!
获取图片url地址的方法应该是 attachmentSimple 组件的方法 ...


5.5.png 6.png 7.png

你好,
1  .j文件获取的文件url,也就是这个var url = '$UI/system/service/doc/common/simpleFileStore.j'+'?realFileName=' + realFileName + '&storeFileName='+storeFileName + '&ownerID='+ownerID + '&operateType=' + operateType;  确定可以显示到图片
2.  image的bind-sttr-src绑定data字段之后运行获得的URL不能显示,单独在浏览器上面也是显示不出来
3.  抱歉,我真的没找到为什么,还真的麻烦您
回复 支持 反对

使用道具 举报

发表于 2016-3-22 18:04:15 | 显示全部楼层
lwzlwzgood 发表于 2016-3-22 17:05
你好,
1  .j文件获取的文件url,也就是这个var url = '$UI/system/service/doc/common/simpleFileSto ...

请问你的bind-sttr-src 属性是怎么设置的??
浏览器调试看看生成的源码,对吗??把源码中src的路径拷贝出来,在浏览器访问正常吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

36

主题

200

帖子

2124

积分

金牌会员

Rank: 6Rank: 6

积分
2124
QQ
发表于 2016-3-23 12:38:58 | 显示全部楼层
我跟你这一个问题,img不显示图片,点击图片,倒是attachmentSample里面能显示出来,
回复 支持 反对

使用道具 举报

32

主题

109

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
QQ
 楼主| 发表于 2016-3-23 14:38:09 | 显示全部楼层
liangyongfei 发表于 2016-3-22 18:04
请问你的bind-sttr-src 属性是怎么设置的??
浏览器调试看看生成的源码,对吗??把源码中src的路径拷贝 ...


你好,bind-sttr-src尝试设置成: $model.fData.val("apple")  ;还有: $model.getImageUrl( $model.fData.val("apple"));
apple是数据库中存放图片的列;
       代码是这么写得:

      Model.prototype.getImageUrl = function(row){
        if(row !== undefined){                                //如果行定义了;
        var jsonList = eval("(" + row.val('apple') + ")");         //获取当前apple列的数组;
        var ownerID = row.getID();                           //获取当前行的ID;
        if(jsonList !== undefined ){
                var realFileName = jsonList[0]["realFileName"];        //获取数组中的真实文件名;
                var storeFileName = jsonList[0]["storeFileName"];       //获取数组中的存储文件名;
                var operateType = "browse";                             //操作方式为浏览;
                var url = '$UI/system/service/doc/common/simpleFileStore.j'+'?realFileName=' + realFileName + '&storeFileName='+storeFileName + '&ownerID='+ownerID + '&operateType=' + operateType;
                return require.toUrl(url);      //返回URL;
        }
        }
            
    };
   
   
         Model.prototype.button3Click = function(event){
         var data = this.comp("fData");         //定义数据源;
         var row = data.getCurrentRow();         //定义当前行数据;
          var zsurl = data.getValue("apple");      //获取当前行apple列的值;
          alert (zsurl);
         
           var url = this.getImageUrl(row);        //获取事件getImageUrl中url的值;
           
          // var url = this.getImageUrl(data);      
           
         alert(url);
  
        };
return Model;
});


1.    两种绑定方法, $model.getImageUrl( $model.fData.val("apple"))         无法获取URL,只显示错误:Uncaught TypeError: row.val is not a function

2.    $model.fData.val("apple")       这个绑定获取的URL:[url=http://localhost:8080/x5/UI2/v_7fd90136e2b44bc3962d85110eafd515l_zh_CNs_desktopd_/fruit/[%7B%22storeFileName%22:%22C7006164733000015DC2ABC385C0DEF0%22,%22realFileName%22:%221.jpg%22%7D]http://localhost:8080/x5/UI2/v_7fd90136e2b44bc3962d85110eafd515l_zh_CNs_desktopd_/fruit/[%7B%22storeFileName%22:%22C7006164733000015DC2ABC385C0DEF0%22,%22realFileName%22:%221.jpg%22%7D[/url]]
    错误显示为:load resource: the server responded with a status of 404 (Not Found)
    获取得到的url直接放到浏览器中无法显示;
3.    运行调试浏览器Resources-Frames-attachmentsimple.w-simpleFileStore.j文件中的地址http://localhost:8080/x5/UI2/v_b5e71e7b91e74a019b279160913c80ccl_zh_CNs_d_m/system/service/doc/common/simpleFileStore.j?realFileName=1.jpg&storeFileName=C7006164733000015DC2ABC385C0DEF0&ownerID=1&operateType=browse
放到浏览器中可以直接显示图片,但这个地址好像不是从数据库取图片的地址,而是simpleFileStore中的。
4.   我是参考这个帖子一直往下做的,最后发帖的是解决了,说原因是“居然是bind-attr-src的时候,这个动作过早,数据还没出来,所以报错,加了个判断条件,等数据出来后就可以”,我就是来到这一步,不知道他说的这个判断是怎么回事?
WeX5_V3.1中关于attachmentSimple组件的用法
http://bbs.wex5.com/forum.php?mod=viewthread&tid=71219
(出处: 起步软件技术论坛)



麻烦你了
回复 支持 反对

使用道具 举报

发表于 2016-3-23 16:13:53 | 显示全部楼层
lwzlwzgood 发表于 2016-3-23 14:38
你好,bind-sttr-src尝试设置成: $model.fData.val("apple")  ;还有: $model.getImageUrl( $model.fD ...

它所说的应该是,当data组件中没有值的时候,bind-attr-src 绑定的js方法 不要return这个路径,需要return 一个空的字符串就OK了!如果有返回字符串,就可能存在路径不对的问题!

反正你的bind-attr-src 绑定的js方法  或者data字段的值 返回的必须和浏览器中访问的那个.j 的rul是一样的!就可以正常显示!

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

32

主题

109

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
QQ
 楼主| 发表于 2016-4-6 19:25:09 | 显示全部楼层

_](Y5~PX}E6I`T6L25MPB99.png RD[]IH2S9IAFT)W(0RVQOG9.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-4-7 17:43:02 | 显示全部楼层
http://bbs.wex5.com/forum.php?mo ... 4&pid=165231103

案例中的上传的时候attachmentSimple的url选择的baas的,所以取url的时候用的就是baas的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

发表于 2016-4-7 17:55:30 | 显示全部楼层

最好是debugger调试看看吧!!
getfinishImageUrl 方法中 ,return 返回的值具体是多少!!
另外参考

/UI2/system/components/justep/list/demo/news.w
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 06:48 , Processed in 0.074621 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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