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

QQ登录

只需一步,快速开始

查看: 1254|回复: 5

[结贴] 下载附件

  [复制链接]

56

主题

181

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
发表于 2016-7-26 10:07:32 | 显示全部楼层 |阅读模式
怎么实现点击一个按钮,可实现下载附件?不要附件的组件。比如我在toolbar组件上放了一个button,点击这个button,就可以下载一个附件。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-7-26 11:37:32 | 显示全部楼层
可以参考/UI2/demo/actions/process/invokeAction/mainActivity.w中下载文件的实现,如果要app中需要用Cordova插件
http://doc.wex5.com/cordova-plugins/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

56

主题

181

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
 楼主| 发表于 2016-7-26 16:19:22 | 显示全部楼层
本帖最后由 SHISHSI 于 2016-7-26 16:48 编辑

问题已解决,谢谢,结贴吧
回复 支持 反对

使用道具 举报

71

主题

257

帖子

719

积分

高级会员

Rank: 4

积分
719
QQ
发表于 2016-8-7 22:45:27 | 显示全部楼层
SHISHSI 发表于 2016-7-26 16:19
问题已解决,谢谢,结贴吧

怎么实现的,可否共享下代码
回复 支持 反对

使用道具 举报

56

主题

181

帖子

338

积分

中级会员

Rank: 3Rank: 3

积分
338
QQ
 楼主| 发表于 2016-8-8 08:54:26 | 显示全部楼层
本帖最后由 SHISHSI 于 2016-8-8 08:57 编辑

将上面链接的downloadFile.j拷到mainActivity.w的同级目录。

页面上的代码:
        Model.prototype.button10Click = function(event){
        // 输出执行代码
                TextOut.setText(code, arguments.callee.toString());

                // 这个案例中为了下载时能给出文件名,自定义了一个.j用于执行下载的get请求,.j请参考"$UI/demo/actions/process/invokeAction/downloadFile.j"
                // 提交前需要进行URL转换,在URL上补足bsessionid等必要信息
                var url = require.toUrl("$UI/basedatabase/adminManage/process/townImport/downloadFile.j?bsessionid=" + this.getContext().getBSessionID());
                // 用get方式传参
                url = url
                        + "&process=" + this.getContext().getCurrentProcess()
                        + "&activity=" + this.getContext().getCurrentActivity()
                        + "&executor=" + this.getContext().getExecutor()
                        + "&action=townDownloadFile"
                        + "&fileName=乡镇.xls" ;
                // 弹出下载
                window.open(url);
        };


action那里的代码:
        public static InputStream townDownloadFile(String fileName)throws IOException{
                String bizRoot = FileSystemWrapper.instance().getBase();
                String cachePath = bizRoot + "/basedatabase/adminManage/fileCache/";
                String cacheFileName = cachePath + CommonUtils.getNameOfFile(fileName);

                // 返回文件流
                File file = new File(cacheFileName);
                FileInputStream in = new FileInputStream(file);
                return in;        
        }

在fileCache下放文件——乡镇.xls,然后就行了
回复 支持 反对

使用道具 举报

49

主题

112

帖子

428

积分

中级会员

Rank: 3Rank: 3

积分
428
QQ
发表于 2016-9-12 16:38:51 | 显示全部楼层
jishuang 发表于 2016-7-26 11:37
可以参考/UI2/demo/actions/process/invokeAction/mainActivity.w中下载文件的实现,如果要app中需要用Cord ...

您发的这个路径找不到
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 06:48 , Processed in 0.062828 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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