推荐一个Silverlight多文件(大文件)上传的开源项目-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

推荐一个Silverlight多文件(大文件)上传的开源项目

简介:
+关注继续查看
  在Silverlight上实现文件上传的例子在网上的还不多,特别是多文件上传和大文件上传的例子就更少了。当然那些商品软件公司的产品除外。
     目前的CodePlex上就有这样一个项目,其链接:[url]http://www.codeplex.com/SLFileUpload/[/url] ,他的个人主站链接:[url]http://www.michielpost.nl/[/url]    
    
     我在本地下载运行其代码后,发现“果然”很好用,而且代码写的也很规范。当然其也是免费的,但作者并不绝各种名义上的“捐助(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统一访问和操作:
    
ContractedBlock.gifCode

    上传文件信息类:
    
ContractedBlock.gifCode
      
    上传文件操作类(实现文件上传功能代码):    
 
ContractedBlock.gifCode

    服务端WCF代码如下(ASMX文件代码与其基本相同):    
ContractedBlock.gifCode
 
    当然在该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):    
ContractedBlock.gifCode


本文转自 daizhenjun 51CTO博客,原文链接:http://blog.51cto.com/daizhj/124341,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
VS2010无法保存项目文件(.csprj)的问题解决方法
VS2010无法保存项目文件(.csprj)的问题解决方法   【出错提示】保存项目文件“XXX”时出错。类没有注册。正在查找具有CLSID的对象:{D9B3211D-E57F-4426-AAEF-30A806ADD397}。
968 0
CXF配置,ant文件说明及运行,运行cxf中带的项目
安装CXF时需要Tomcat,ant,并设置以下环境变量: JAVA_HOME:        C:\Program Files (x86)\Java\jdk1.6.0_25 CXF_HOME:          D:\Installed\apache-cxf-2.4.2 ANT_HOME:           D:\Installed\apache-ant-1.8.2 CATAL
1055 0
使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)
最近在使用之前自己编写的批处理给.NET Core项目打包时出问题了,发现之前的脚本根本不适用了,折腾了半天,总算解决了。因此在这里分享下经验,并且奉上整理好的脚本。 Nuget包这里就不多介绍了,需要了解的请访问:https://docs.microsoft.com/zh-cn/nuget/ 下面开始本篇教程。
1122 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载