zoukankan      html  css  js  c++  java
  • 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/.下载,来把玩一番了。

  • 相关阅读:
    在日本被禁止的コンプガチャ設計
    Starling常见问题解决办法
    Flixel引擎学习笔记
    SQLSERVER中修复状态为Suspect的数据库
    T4 (Text Template Transformation Toolkit)实现简单实体代码生成
    创建Linking Server in SQL SERVER 2008
    Linq to Sql 与Linq to Entities 生成的SQL Script与分页实现
    Linq to Entity 的T4 模板生成代码
    在VisualStudio2008 SP1中调试.net framework 源代码
    使用HttpModules实现Asp.net离线应用程序
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3575535.html
Copyright © 2011-2022 走看看