• MVC应用程序实现文件库(FlexPaper)


     

     

    很久之前Insus.NET在实现了《FlexPaper实现文档在线浏览http://www.cnblogs.com/insus/archive/2011/07/21/2112369.html。 当时也只是实现了显示而已,也没有实现在线转换功能。
    现在,Insus.NET已经从asp.net转向了asp.net MVC应用程序开发了。因此再想以MVC应用程序来实现文档库的功能。由于新版本的FlexPaper无法屏蔽打印的功能,因此还是用回来原来的FlexPaper组件,也意味使用前一篇的一些类库与文件。不过下载下来之后,不能直接使用,需要修改一些路径与参数。

    在MVC应用程序中,不能跟asp.net一样,使用Literal控件来传递参数了,需要考虑到传递参数给js类,为了不直接传递真正的文件名给js,还得需要做另外处理。这样做是为了让用户看到指向地址,使用地址来下载文档 。

    OK,开始吧,不过还得准备准备。


    不管是用户上传的PDF文件是存储在数据库中,还是应用程序中的某一个文件夹中,我们是先得到找到它的 ID,此ID既可以是整数,也可以是字符串,只是是唯唯一性即可。

    从前一篇下载到的源程序,把它放在MVC应用程序中,如:

    为了屏蔽打印功能,请建议使用上图中高亮这个文件。如果你不想屏蔽的话,建议直接是官网下载最新版本。另外InsusDocumentVieewer.swf这个外框显示格式文件,也移至js这个目录中来,方便软件维护与管理,区别于前一篇是放在swf目录下。还要打开它,修改一下里面的参数路径:

    另外,pdf2swf.exe文件,放在Bin目录之下:


    这个pdf2swf.exe你可以使用最新版本的。旧的肯定没有问题。它是从SWFTools网站下载。下载之下,它是无法在windows 8和windows 2008 R2的64位下安装。但你可以在一台客户端xp或是windows7下安装,然去安装目录,把pdf2swf.exe拷贝出来。

    还有一个要准备的,是在MVC应用程序下,创建一个Temp目录。此目录是存储临时转换的swf文件,或是你的pdf是二进制数据流的,生成pdf时,也是在此temp临时目录进行。


    准备好了,此次演示,Insus.NET是以PDF文件存储在某一个文件夹,但它的一些基本信息是存在数据库表中。
    先创建一个model:


    这个model有两个属性,一个是ID,一个是swfFile。前者是用户在地址栏看到的ID,根据这个ID可以在表中找到PDF的路径或是存储在数据库的二进制流数据。后者是将是转换为swf文格格式的文件名。

    在Entities目录下,创建一个实体:

     此实体,即是把PDF文件或是二进制数据库转换为swf文档格式的功能。



    上图中#14和#15行代码,你看得懂。
    #16行是一空行,如果你的pdf文件是二进制数据流的话,就应该先在这里把二进制数据流转为pdf文档,存进Temp目录中。不懂怎样转,可以参考这篇《数据流创建文件http://www.cnblogs.com/insus/archive/2011/04/11/2012733.html

    #17行,是随机产生一个文件名,没有后缀。
    此次演示中,Insus.NET已经把一个pdf文档拷贝至temp目录中,如果你的pdf文档是入在另一个目录的,你是指向它。
    #18和#19行是,是找到pdf文档与swf文件(此时还没有真正产生)
    #21至#36是转换swf文档。更多参数设置,可以参考官网帮助。

    #38至#40是获得转换后的swf文件名,添加至List中去。将来MVC的控制器用到它。

    接下来在Controllers下的HomeController创建一个ActionResult和一个JsonResult方法。

    在ViewsHome目录下,创建一个视图,视图名称,即是在控制器中的ActionResult方法名:


    下面是这个视图代码:


    #1部分是样式代码,在前一篇中,它是一个样式文件,现在直接搬至视图中来。
    #2部分,是引用jQuery库,注意到否,可以用到最新版本的jQuery库。
    #3部分,是引用相关的js库。
    #5部分,是完全照搬旧的,没有丝毫改变。
    #4部分:



    在Success方法,有两个地方,是把javascript加入head中去。先要把swf文件赋值给swfFile变量中,第二是把InsusDocumentView.js类库加入至head中。

    完成了。看看运行时的效果:

     
     
     

    ThoughtWorks持续集成平台GO开源了

    2014-02-28 22:44 by 破狼, 446 阅读, 5 评论, 收藏编辑

    go

    ThoughtWorks 持续集成平台Go最近宣布开源了。其基于Apache 2.0 开源协议。

    Go下载地址为http://www.go.cd/download/.

    下面是几张来自官方的视图:

    GO流程图:

    http://mmbiz.qpic.cn/mmbiz/aaVJqS7LaMKkxxgkibo01eichwVuOmHzKkhIEdu6Sm9BeCTvC3ianeMpWF3ibl9uE9GnKiaZhfucjenfpVHdj7ia8dug/0

    GO截面图:

    http://mmbiz.qpic.cn/mmbiz/aaVJqS7LaMKkxxgkibo01eichwVuOmHzKk0g8A2LFhCSqo9sV213sbrmIPYx6mico1LOqcPYLgyJgCQce9OibHsRog/0

    http://mmbiz.qpic.cn/mmbiz/aaVJqS7LaMKkxxgkibo01eichwVuOmHzKkkYYPxPhy3ZSQugDEvuZkQwXockGPDF75Oia3yvoKAOAFxmHayDYNMIg/0

    http://mmbiz.qpic.cn/mmbiz/aaVJqS7LaMKkxxgkibo01eichwVuOmHzKk2gON7AZ80zhsSlHZVy8EtT9NUqX3Z6dholdgMgFsyltondWYL2dxlg/0

    GO的版本:

    http://mmbiz.qpic.cn/mmbiz/aaVJqS7LaMKkxxgkibo01eichwVuOmHzKklp3IsiaGMqDswMeKSEno8JmdnasOkwt3bWwQoAmjiaIoeCX2du2SWFlQ/0

    感兴趣的同学更待何时,可以去官网http://www.go.cd/download/.下载,来把玩一番了。

  • 相关阅读:
    【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素
    [转]ASP.NET MVC 5
    [转]ASP.NET MVC 5 学习教程:快速入门
    Using XSLT and Open XML to Create a Word 2007 Document
    如何在VS2010中更好的编写JavaScript代码
    [转]这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)
    [转]C# 超高速高性能写日志 代码开源
    windows 2003 发布遇到问题---分析器错误消息: 未能加载类型“YWPT.MvcApplication”。
    将Oracle数据库转换为SQL Server
    SQLServer2008导出表数据为SQL脚本
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3575535.html
Copyright © 2020-2023  润新知