zoukankan      html  css  js  c++  java
  • 推荐一个Silverlight多文件(大文件)上传的开源项目

         在Silverlight上实现文件上传的例子在网上的还不多,特别是多文件上传和大文件上传的例子就更少了。当然
    那些商品软件公司的产品除外。

         目前的CodePlex上就有这样一个项目,其链接:http://www.codeplex.com/SLFileUpload/ ,他的个人主
    站链接:http://www.michielpost.nl/    
        
         我在本地下载运行其代码后,发现“果然”很好用,而且代码写的也很规范。当然其也是免费的,但作者并不
    绝各种名义上的“捐助(Donate)”。

        下面就是其“汉化”后的运行截图,首先是多文件上传
        
                  
       

         然后是大文件上传:
        
                  

        根据作者的README文件,其支持下面几个初始化参数:    
       

        MaxFileSizeKB:  File size in KBs.
        MaxUploads:  Maximum number of simultaneous uploads
        FileFilter: File filter, for example ony jpeg use: FileFilter=Jpeg (*.jpg) |*.jpg
        CustomParam: Your custom parameter, anything here will be available in the WCF webservice
        DefaultColor: The default color for the control, for example: LightBlue

        
        当然,里面的服务端采用WCF方法。为了考虑在.net1框架上也可以使用,我在保留原有代码结构的基础上,将WCF
    用ASMX格式拷贝了一份,经过编译,完成可以运行:)

        同时为了便于大家阅读源码,我还加入了中文说明(源码中注释很少,而且是EN文)。下面就是其主要的几个类的
    定义和说明:

        FileCollection 上传文件集合类,用于UI统一访问和操作:
        

    Code


        上传文件信息类:
        

    Code

          
        上传文件操作类(实现文件上传功能代码):    

    Code


        服务端WCF代码如下(ASMX文件代码与其基本相同):   

    Code

        当然在该DEMO中,其支持两种初始化方式,一种是:

    <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/mpost.SilverlightMultiFileUpload.xap" MinimumVersion="2.0.30523"  Width="415" Height="280"   InitParameters="MaxFileSizeKB=1000,MaxUploads=2,FileFilter=,CustomParam=1,DefaultColor=LightBlue"  />

     
        另一种是在ServiceReferences.ClientConfig中进行文件配置:    
       

    <appSettings>
           
    <add key="MaxFileSizeKB" value="50" />
           
    <add key="FileFilter" value="Photo's (*.jpg)|*.jpg" />
           
    <add key="FileFilter" value="" />
           
    <add key="MaxUploads" value="2" />
    </appSettings>

        
        而加载顺序要是自上而下,代码段如下(摘自Page.xaml.cs):    

    Code


              
        好了,今天的内容就先到这里了,感兴趣的朋友可以在回复中进行讨论或给他(作者)留言,
    contact@MichielPost.nl
       
       

        作者:代震军,daizhj
       
        tags:silverlight,uploade, 文件上传, 多文件,大文件
        
        中文注释的源码下载,请点击这里
       
        CodePlex, 下载链接:)
     

  • 相关阅读:
    将ip地址转成二进制数据,除基本输入输出不调用库函数实现
    将ip地址转成二进制数据
    一种合并链表方法实现 严蔚敏 数据结构
    阿里巴巴集团2014年校园招聘系统工程师北京笔试题
    显示模态模态对话框和非模态对话框
    MFC中利用CString和Format成员函数将数字格式化输出
    ObjectARX2012错误1 fatal error C1083: 无法打开包括文件:“arxHeaders.h”: No such file or directory; fatal error C1083: 无法打开包括文件:“map”: No such file or directory
    Metasploit 读书笔记-神器Meterpreter
    解决:kali linux 在vmware 虚拟机中使用bridge模式上网的问题
    metasploit 读书笔记-EXPLOITATION
  • 原文地址:https://www.cnblogs.com/daizhj/p/1321252.html
Copyright © 2011-2022 走看看