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

QQ登录

只需一步,快速开始

查看: 3773|回复: 0

使用blob组件上传word文档,并打开word文档

[复制链接]

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-12-6 11:33:03 | 显示全部楼层 |阅读模式
1、在w文件中放blob组件,将word文档上传到数据库中
设置blob组件的data、concept、relation属性
data关联一个bizData组件,本例:bizData1
concept指向存储word文件的概念名,本例:ER_WPXX
relation指向存储word文件的关系名,本例:fBlob

2、除了上传文件,还需要获得文件名,最主要是文件后缀名,用于显示文档
在blob组件的onSubmit事件中获取文件名,注意,要把文件名保存起来
  1. mainActivity.blob1Submit = function(event){
  2.         alert(event.file);
  3.         return true;
  4. };
复制代码
3、在w文件中放officeViewer组件,下载word文件并显示
  1. mainActivity.trigger1Click = function(event){
  2. var rowID = justep.xbl("bizData1").getID();
  3.     var url = justep.Request.setBizParams(justep.Request.convertURL("/UI/system/service/common/bizAction.j")
  4.          + "&dataModel=/erp/buy/data"                                  //数据模块目录
  5.          + "&concept=ER_WPXX"                                          //概念名
  6.          + "&relation=fBlob"                                           //关系名
  7.          + "&id=" + rowID                                              //行ID
  8.          + "&process=/erp/buy/process/goods/goodsProcess"              //流程名称
  9.          + "&activity=mainActivity"                                    //环节名称
  10.          + "&action=blobDownloadAction"                                //调用的Action
  11.          + "&$query-version=" + (new justep.UUID()).valueOf());
  12.         url = window.location.protocol+"//"+ window.location.host + url;
  13.          
  14.         var offiveViewer = justep.xbl("officeViewer1");
  15.         var ocxObj = offiveViewer.getOfficeObj();
  16.         ocxObj.HttpInit();
  17.         ocxObj.HttpAddpostString("FileExt",".docx");
  18.         ocxObj.Open(url,"Word.Application");
  19. };
复制代码
通过调用系统提供的bizAction,j,访问系统提供的blobDownloadAction,获得文件的url,传给officeViewer组件,就可以显示文档了
说明:
1、blobDownloadAction是全局action,不用在当前process中添加这个action
2、ocxObj.HttpAddpostString("FileExt",".docx");里面的第二个参数必须和下载的文件的后缀相同。
例如
要显示的文件名是xx.doc,就传入.doc,
要显示的文件名是xx.docx,就传入.doxc,
要显示的文件名是xx.xls,就传入.xls,
要显示的文件名是xx.xlsx,就传入.xlsx
3、ocxObj.Open(url,"Word.Application");里面的第二个参数必须和下载的文件类型相同。
如果要显示word文档,就传入Word.Application,
如果要显示excel文档,就传入Excel.Applicatio
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-12-4 01:24 , Processed in 0.048485 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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