研究过office文档预览控件和上传下载控件的来!


把文档在线预览控件和上传下载文件控制的帮助文档分享出来,供大家研究

https://help.finereport.com/doc-view-2956.html

https://help.finereport.com/doc-view-768.html


我的要求也很简单,就是想在上传后,能预览一下上传的文档,然后再提交

大家帮帮我



FineReport nhb2318 发布于 2019-11-13 00:27 (编辑于 2019-11-13 00:30)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
4
杨朝健Lv5中级互助
发布于2019-11-13 10:20(编辑于 2019-11-13 15:18)

上传后脚本:

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var c = cr.col;  

var r = cr.row;   

var view = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: c, row: r+1}));//获取预览单元格,c和r+1根据实际情况调整

var name=this.wrap.attach_array[0].attach_id;

console.log(name);

var o=view.options;

o.fileaddr=encodeURIComponent(encodeURIComponent("F:/FineReport_10.0/webapps/webroot/WEB-INF/assets/temp_attach/"+name));//安装路径


var filepath = decodeURIComponent(decodeURIComponent(o.fileaddr));

var filename = "";

if(filepath != ""){

    if(filepath.indexOf("/")!=-1){

        filename = filepath.substr(filepath.lastIndexOf("/")+1);

    }else if(filepath.indexOf("\\")!=-1) {

        filename = filepath.substr(filepath.lastIndexOf("\\")+1);

    } else{

        filename = filepath;

    }

}

o.value = filename;

var sessionid = o.widgetUrl.substr(o.widgetUrl.lastIndexOf("=")+1);

var url = "ReportServer?op=resource&resource=/pdfjs-dist/web/viewer.html&para=";

if(o.envVersion> 9){

    url = FR.server+"/decision/view/report?op=resource&resource=/pdfjs-dist/web/viewer.html&para=";

}

var encodeData = window.btoa("allowdownload=" + o.allowdownload +"&allowAPI="+o.allowAPI + "&watermark=" + o.watermarkstr + "&file=" + o.fileaddr+"&sessionstr="+sessionid)

o.src =url+encodeData;

console.log(o.src);

view._changeIframe(o.src);


image.png

image.png


  • nhb2318 nhb2318(提问者) ???
    2019-11-13 14:09 
  • 杨朝健 杨朝健 回复 nhb2318(提问者) 你试下
    2019-11-13 15:17 
  • nhb2318 nhb2318(提问者) 你好厉害,那个office控件的文件路径怎么写?那个预览插件不是还得弄双斜杠的吗?
    2019-11-13 21:25 
  • nhb2318 nhb2318(提问者) 回复 杨朝健 还有安装路径选哪个?是服务器的安装路径吗? \"F:/FineReport_10.0/webapps/webroot/WEB-INF/assets/temp_attach/\" 这个路径,在服务器上没有哇,如果是本机路径的话,那么要是没有安装FR的话就预览不了吗?
    2019-11-13 21:33 
  • nhb2318 nhb2318(提问者) 回复 杨朝健 还有,你的是10.0,我9.0能不能用?
    2019-11-13 22:32 
最佳回答
0
枫城Lv7初级互助
发布于2019-11-13 10:08

稍等,之前没玩过的 现在研究看看

  • nhb2318 nhb2318(提问者) 有没有结果?
    2019-11-13 14:09 
  • 枫城 枫城 回复 nhb2318(提问者) 碰到同样的问题 用路径+$$$ 不显示,绝对路径可以 ,已联系插件开发者,看后续能否解决
    2019-11-13 14:14 
  • nhb2318 nhb2318(提问者) 回复 枫城 哪里有路径?根本就没有路径 那路径是临时生成的UUID 这两个控件功能应该合并,做一个万能的
    2019-11-13 14:52 
  • chen_fei2928 chen_fei2928 回复 枫城 这个问题解决了吗?现在能用相对路径吗
    2020-09-09 13:23 
  • 3关注人数
  • 1094浏览人数
  • 最后回答于:2019-11-13 15:18
    请选择关闭问题的原因
    确定 取消
    返回顶部