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

QQ登录

只需一步,快速开始

查看: 2757|回复: 10

[结贴] 上传到数据库中图片,无法在image中显示出来,baas无法编译

  [复制链接]

6

主题

24

帖子

88

积分

初级会员

Rank: 2

积分
88
QQ
发表于 2017-3-14 11:39:05 | 显示全部楼层 |阅读模式
按照外卖案例后台管理页面,来制作我自己的内容管理页面,添加了attachmentSimple组件,图片已经传到数据库中。在image中bind-attr-src属性中按照你们案例填写 $model.transUrl($object),同时也拷贝了改代码并把数据字段换成我自己文件的,           Model.prototype.transUrl = function(row) {                var src = null;
                if (row.val('fImg_title') != null && row.val('fImg_title') != "" && row.val('fImg_title') != "[]") {
                        var imageJson = eval("(" + row.val('fImg_title') + ")");
                        var realFileName = imageJson[0]["realFileName"];
                        var storeFileName = imageJson[0]["storeFileName"];
                        var ownerID = row.val('fID');
                        var operateType = "browse";
                        var url = this.actionUrl + '?realFileName=' + realFileName + '&storeFileName=' + storeFileName + '&ownerID=' + ownerID + '&operateType=' + operateType;
                        src = require.toUrl(url);
                }

                return src;

        };

问题1、保存后出现如图提示: 2017.3.14-2.png
但是你们的案例里面没有这个错误提示。


然后在baas中也添加了service.m 文件,同时在js文件里面顶部也添加了this.actionUrl = "/baas/lfc/attachment/SimpleFileStore"; 然后模型编译baas出现错误,控制台提示如下:
2017-03-14 10:45:45 开始-WINDOW生成中间文件: /UI2/lfc/newsManage.w
2017-03-14 10:45:45 结束-WINDOW生成中间文件: /UI2/lfc/newsManage.w
2017-03-14 10:45:45 开始-中间文件生成缓存文件: /UI2/lfc/newsManage.w
2017-03-14 10:45:46 结束-中间文件生成缓存文件: /UI2/lfc/newsManage.w
2017-03-14 10:45:46 开始-WINDOW生成中间文件: /UI2/system/components/justep/attachment/demo/demoSimple.w
2017-03-14 10:45:46 结束-WINDOW生成中间文件: /UI2/system/components/justep/attachment/demo/demoSimple.w
2017-03-14 10:45:46 开始-中间文件生成缓存文件: /UI2/system/components/justep/attachment/demo/demoSimple.w
2017-03-14 10:45:47 结束-中间文件生成缓存文件: /UI2/system/components/justep/attachment/demo/demoSimple.w
2017-03-14 10:45:50 Action[lfc/attachment/SimpleFileStore] Method加载失败,可能原因:Baas模型没有编译,请Baas模型编译后重启服务!
java.lang.NoSuchMethodException: lfc.Attachment__do.SimpleFileStore(com.alibaba.fastjson.JSONObject, com.justep.baas.action.ActionContext)
        at java.lang.Class.getMethod(Class.java:1786)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
com.justep.baas.action.ActionException: Action[lfc/attachment/SimpleFileStore] Method加载失败,可能原因:Baas模型没有编译,请Baas模型编译后重启服务!
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodException: lfc.Attachment__do.SimpleFileStore(com.alibaba.fastjson.JSONObject, com.justep.baas.action.ActionContext)
        at java.lang.Class.getMethod(Class.java:1786)
        ... 16 more





最后就是前台界面显示,图片无法加载:

前台界面

前台界面




$model.transUrl($object) ,$object这个值不知道是什么原因,帮忙解决下图片显示问题。

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-14 11:51:29 | 显示全部楼层
显示attachmentSimple组件上传的图片的参考这个案例

workCalendar.zip

4.68 KB, 下载次数: 142

回复 支持 反对

使用道具 举报

6

主题

24

帖子

88

积分

初级会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2017-3-14 12:11:35 | 显示全部楼层
半导体 发表于 2017-3-14 11:51
显示attachmentSimple组件上传的图片的参考这个案例

你好,你的文件我下载了,在浏览器起不能显示出来, 2017.3.14-3.png

回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-14 14:14:23 | 显示全部楼层
baoer_860425 发表于 2017-3-14 12:11
你好,你的文件我下载了,在浏览器起不能显示出来,

你当然不能运行了   你根本没有action啊
我的意思是说这个里面有你想写的方法  你参考这个写就可以了
回复 支持 反对

使用道具 举报

6

主题

24

帖子

88

积分

初级会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2017-3-14 17:45:18 | 显示全部楼层
找到原因了,在Baas下的attachment.server.m 文件里面 2017.3.14-4.png
把名称的第一个字母,与SimpleFileStore.java 文件没有名称不一致,原来是simpleFileStore,把首字母改成大写的,BAAS就能加载了。

可以结贴了


回复 支持 反对

使用道具 举报

23

主题

71

帖子

135

积分

初级会员

Rank: 2

积分
135
QQ
发表于 2017-3-22 11:47:43 | 显示全部楼层
baoer_860425 发表于 2017-3-14 17:45
找到原因了,在Baas下的attachment.server.m 文件里面
把名称的第一个字母,与SimpleFileStore.java 文件没 ...

亲  能不能把你做出来的上传图片到数据库的部分发给我  我仿外卖做的例子有错  也找不到哪里有错  谢谢  本人菜鸟一个
回复 支持 反对

使用道具 举报

23

主题

71

帖子

135

积分

初级会员

Rank: 2

积分
135
QQ
发表于 2017-3-22 11:48:01 | 显示全部楼层
baoer_860425 发表于 2017-3-14 17:45
找到原因了,在Baas下的attachment.server.m 文件里面
把名称的第一个字母,与SimpleFileStore.java 文件没 ...

亲  能不能把你做出来的上传图片到数据库的部分发给我  我仿外卖做的例子有错  也找不到哪里有错  谢谢  本人菜鸟一个
回复 支持 反对

使用道具 举报

6

主题

24

帖子

88

积分

初级会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2017-3-22 17:22:55 | 显示全部楼层
liucong 发表于 2017-3-22 11:48
亲  能不能把你做出来的上传图片到数据库的部分发给我  我仿外卖做的例子有错  也找不到哪里有错  谢谢   ...



1、添加了attachmentSimple 组件。关键是这个组件的.service.m 和.java文件。
2、先去复制Baas/justep目录下面的attachment.service.m 与SimpleFileStore.java 文件,到你自己BAAS工程下,
3、打开.java文件,如图片:
2017.3.15-7png.png

按照图片文字修改
4、在要显示图片的.w文件顶部添加attachmentSimple 的路径,如图片:
2017.3.15-8.png


注意路径与你BAAS工程下面的文件名要一样。




回复 支持 反对

使用道具 举报

6

主题

24

帖子

88

积分

初级会员

Rank: 2

积分
88
QQ
 楼主| 发表于 2017-3-22 17:26:51 | 显示全部楼层
2017.3.15-9.png

actionUrl 路径也要填写
回复 支持 反对

使用道具 举报

23

主题

71

帖子

135

积分

初级会员

Rank: 2

积分
135
QQ
发表于 2017-3-23 12:37:11 | 显示全部楼层
baoer_860425 发表于 2017-3-22 17:26
actionUrl 路径也要填写

感谢分享  太谢谢了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 07:02 , Processed in 0.062063 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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