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

QQ登录

只需一步,快速开始

楼主: engle_wang

[结贴] 自定义附件上传

[复制链接]

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2017-7-13 17:23:30 | 显示全部楼层
jishuang 发表于 2017-7-13 17:19
是在哪里定义的什么意思?
FileSystemWrapper.instance().getBase();获取的是BIZ的路径 ...

protected void doPost(HttpServletRequest request,
                        HttpServletResponse response) throws ServletException, IOException {
                try {
                        commonUtils.bizAction(request, response, "post");
                } catch (Exception e) {
                        throw new ServletException(MessageUtils.getMessage(UISystemMessages.class, UISystemMessages.SERVICE_BIZ_ACTION_ERROR), e);
                }
        }

看了这段代码,采用的hi表单提交的方式。而且commonUtils.bizAction(request, response, "post");怎么转换成调用这个public static String demoUploadFile(String fileName, InputStream file)根本看不到。我要做的不是表单提交,是用以下代码
biz.Request.sendBizRequest({
                                                "context" : context,
                                                "action" : "uploadFileAction",
                                                "parameters" : params,
                                                "callback" : function(data) {});怎样把InputStream 获取到?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-13 17:38:49 | 显示全部楼层
你不就是把自己选文件,然后把文件自己传到服务端,到了服务端后自己要怎么操作就是java标准的了啊
FileOutputStream out = new FileOutputStream(cacheFileName);
                copyStream(file, out, 1024);
                out.close();

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



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2017-7-14 08:44:17 | 显示全部楼层
jishuang 发表于 2017-7-13 17:38
你不就是把自己选文件,然后把文件自己传到服务端,到了服务端后自己要怎么操作就是java标准的了啊
FileOut ...

这个我知道,我问的不是这个。
这是我的W页面,从文档中心那里复制,改了点
var context = this.getContext();
                var params = new biz.Request.ActionParam();
                self.uploader.on('onSuccess', function(data, fileName) {
                        var file = $(data.response).find("file");
                        var kind = $(file).attr("mediatype");
                        var cacheName = $(file).attr("file-name");
                        var size = $(file).attr("fileSize");
                        params.setString("file",  file);
                        params.setString("kind",  kind);
                        params.setString("cacheName",  cacheName);
                        params.setString("size",  size);
                        biz.Request.sendBizRequest({
                                                "context" : context,
                                                "action" : "uploadFileAction",
                                                "parameters" : params,
                                                "callback" : function(data) {
                                                        if(data.httpState == 200){
                                                                if(data.response.status == 0){
                                                                       
                                                                }else{
//                                                                        justep.Util.hint(data.response.msg, {type: 'danger'});
                                                                }
                                                        }
                                                }
                                        });
                });

传到后台,全是undefined?
我想要知道的是,通过平台的这个方法,以及采用uploader,怎么去把file传到后台,能否给个案例。
我看了下这个,http://bbs.wex5.com/forum.php?mod=viewthread&tid=38913,这个主要是采用form提交的,我就想biz.Request.sendBizRequest这个方法提交,界面采用文档中心的,直接点击按钮弹出,不要file那个组件。前台代码改怎么写?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-14 09:46:34 | 显示全部楼层
1.文档中心是把文件传到文档服务器上的,不是传到自己的指定的目录的
不是自己简单的调用uploadAction就可以的,要看文档中心Model.prototype.upload方法的实现
2.这个就是hmlt的input(file),如果不显示file,那可以自己设置input的display为none,然后自己放一个按钮调用input的click
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2017-7-14 10:43:57 | 显示全部楼层
jishuang 发表于 2017-7-14 09:46
1.文档中心是把文件传到文档服务器上的,不是传到自己的指定的目录的
不是自己简单的调用uploadAction就可 ...

1、页面内容参照/UI2/demo/actions/process/invokeAction/mainActivity.w。把file隐藏了,想点击上传按钮,来实现弹出选文件窗口,如何调用file的click事件。
2、http://bbs.wex5.com/forum.php?mod=viewthread&tid=38913帖子中说:放一个trigger,在单击事件中,调用form提交。这个trigger在哪里?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-14 13:23:54 | 显示全部楼层
1.jquery的方式获取到组件,然后调用click这个就跟标准的html一样
2.自己在页面中需要的地方放按钮就可以啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2017-7-14 14:58:50 | 显示全部楼层
jishuang 发表于 2017-7-14 13:23
1.jquery的方式获取到组件,然后调用click这个就跟标准的html一样
2.自己在页面中需要的地方放按钮就可以啊 ...

点击按钮调用可以打开选附件了,可我怎么在选择文件,点击打开的时候,调用后台代码,不另外再去点击什么上传按钮的操作?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-14 15:58:42 | 显示全部楼层
如果用的input(file),可以在onchange事件中操作
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2017-7-14 16:06:19 | 显示全部楼层
jishuang 发表于 2017-7-14 15:58
如果用的input(file),可以在onchange事件中操作

我是参照这个做的/UI2/demo/actions/process/invokeAction/mainActivity.w
发现取不到文件名?这个演示的案例也取不到文件名。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-14 16:52:42 | 显示全部楼层
这个没有取到值?
file.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 00:29 , Processed in 0.077105 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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