Java OpenOffice+swfTools+FlexPaper实现上传文件的预览

前两天根据领导要求,要实现对上传文件在web的预览,上传文件格式包括word,excel,ppt,pdf等。自己因为没有做过,所以上网查资料,基本都是将上传文件经过转化后再呈现。基本上的几种方案:openOffice+swfTools+FlexPaper将上传文件转pdf转swf,借助FlexPaper前端组件来实现;或将上传文件转pdf再借助pdf2htmlEX转为html来显示,也可以借用一些第三方插件,如pageOffice,SOAOffice,webOffice,officeweb365,office365等。一般都是需要收费的,officeweb365有破解版,不过好像破解版有限制,上传文件不超过2M,每次上传不超过500次,office365是要架设特定的服务器才可以。当然,也可以直接借助一些公司比较成熟的接口,比如我在测试时借用永中的接口,在main方法中提供一个上传文件的url,调用永中的接口后,就可以返回来一个在web端了浏览上传文件的html的静态地址。

public static void main(String[] args) {
        //文件上传转换,获取返回数据
        //调用了永中的接口,实现了对上传文件的在线预览,此方法仅适合的文档类型:word,excel,ppt(chm.dll,pdf格式的文件无法转化)
        String convertByFile = SubmitPost("http://dcs.yozosoft.com:80/upload", 
                "C://Users//Administrator//Desktop//ES//xxxx.docx", "1");
        JSONObject obj = JSONObject.fromObject(convertByFile);
        //JSONObject obj = JSONObject.parseObject(convertByFile);
        if ("0".equals(obj.getString("result"))) {// 转换成功
            String urlData = obj.getString("data");
            urlData = urlData.replace("[\"", "");//去掉[
            urlData = urlData.replace("\"]", "");//去掉]
            //最后urlData是文件的浏览地址
            //此处输出的路径,即在浏览器中预览上传文件的url。
            System.out.println(urlData);//打印网络文件预览地址
        } else {// 转换失败
            System.out.println("转换失败");
        }
}

最终输出来的http://dcs.yozosoft.com:8000/2018/07/19/MTgwNzE5NTcwMTAyMDQy.html,就是web端浏览的地址。

当然,也可以用第一种,将上传文件转化为pdf,swfTools转化为swf,借助FlexPaper前端插件来展示,我的项目中先用了这个方法来呈现(缺点是:上传word文档,无法提取出来目录)最终的效果如下:

需要注意的是:使用了FlexPaper插件,除了将该插件所需要的js在jsp中引入外,FlexPaperViewer.swf要放对位置。我的jsp就是在根目录下,因此我也将其放在根目录下执行成功

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值