`

flexpaper组件中关于隐藏真实的swf 地址下载

阅读更多
   flexpaper是个不错的将pdf,word之类的文件转化为swf的开源工具,关于这个其实网上说了不少了,它做出来的效果有点象百度文库的效果了,但最近发现一个问题,就是在
    SwfFile : escape("xxxx.swf");
这里,可能会造成很容易通过绝对路径下载到swf的地址,于是可以下载到swf,那么有什么好的方法保护之呢?当然,要搞到很复杂是不大可能的,除非有百度的能力,但简单的保护还是有办法的.
办法就是,其实flexpaper的SwfFile是支持以文件流的方式读文件的,所以,
可以简单写一个action或者servlet来读取,代码如下:


try
		{
		ServletOutputStream out = 
	        this.getResponse().getOutputStream (); 
		
		this.ismsdocversion = this.docversionsService
		.getswfnamebydocumentId(documentId);
		
		String realPath =ServletActionContext.getServletContext().getRealPath("swffiles")+"/"+this.ismsdocversion.getAttachmentflashname();
		logger.info("swrealpath is"+realPath);
		InputStream ips = null;
		OutputStream ops = null;
		
		  this.getResponse().reset();
		 this.getResponse().setContentType("application/swf");
		File file = new File(realPath);
		ops =  this.getResponse().getOutputStream();
		ips = new FileInputStream(file);
		 this.getResponse().addHeader("Content-Length", new Long(file.length()).toString());
		 
		int i = 0;
		byte[] buffer = new byte[1024];
		i = ips.read(buffer);
		while (i != -1) {
			ops.write(buffer, 0, i);
			i = ips.read(buffer);
		}
		 
		ips.close();
		ops.flush();
		ops.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		


  然后在flexpaper中,指定为:
  SwfFile : escape('<%=basePath%>docview/docview!getSwffile.action?documentId=${ismsdocversion.documentId}'),
   其实就是指定为这个servlet输出,这样就可以达到不能直接下载SWF的目的了.
   另外,在网上发现一位北京兄弟搞的专门对flexpaper进行二次发开的
网站产品,功能比较强大,也受到这位兄弟的指点,特别感谢,
他的网站是:
  http://flexpaper.studylead.com/

支持的功能有:
  1、单页异步加载-速度奇快!!!
2、自定义在线播放器界面、可放上自己的公司Logo,或者换想要的皮肤。
3、word、ppt、excel、pdf、txt、wps等后台转换为swf功能。
4、可以使用OpenOffice和FlashPaper 两种方式转换 文件。
5、在线浏览文件格式:
MS Office文档: doc,docx ppt,pptx xls,xlsx vsd,vsdx pot,potx pps,ppsx rtf;
WPS office系列: wps et dps
图片: jpg png gif bmp
PDF: pdf
纯文本: txt
6、系统已经实现了关键字查询定位;可设置多个初始搜索关键字,以"|"分割,详见示例 关键字定位。
7、系统实现了控制文档显示页数,可用于收费文档使用,详见示例 控制文档显示页数。
8、系统实现了播放器加载广告,可用于文档添加广告使用,详见示例 播放器加载广告。
9、系统实现了播放器内按页插入广告,可自定义广告内容和插入位置;本站文档均添加了广告示例,请查看。
10、系统实现了全文检索,对文档建立索引,跟百度搜索类似,详见网站搜索。
   有兴趣的朋友可以看看
5
1
分享到:
评论
4 楼 jackyrong 2015-06-05  
u010770087 写道
并不可以用


我现在的项目就是在用了呀
3 楼 u010770087 2015-06-05  
并不可以用
2 楼 fackyou200 2014-04-29  
请教,分页怎么实现文件流加载??
1 楼 zean 2013-01-12  
vsd可以?openoffice不支持吧,我现在还头疼呢.

相关推荐

Global site tag (gtag.js) - Google Analytics