Silverlight以及Mvc最佳文件下载解决方案

(一)前言

目前,在Silverlight中下载文件通常采用两种方式进行文件下载:

1、客户端 通过SaveFileDialog类进行文件下载,服务端使用字节数组(byte[])进行数据传递。

2、客户端通过 访问服务端的一般处理文件(.ashx)来进行文件下载。

对于第1种方式下载,缺陷主要为:点击下载之 后,弹出的SaveFileDialog对话框居然没有文件名!!!(必须自己手写文件名,这里Silverlight还有待提 高)。Silverlight中的SaveFileDialog相关属性和方法如下:

public sealed class 

SaveFileDialog
    {
         public SaveFileDialog();
         public string DefaultExt { get; set; }
         public string Filter { get; set; }
         public int FilterIndex { get; set; }
         public string SafeFileName { get; }
         public Stream OpenFile();
         public bool? ShowDialog();
    }

对于第2种方式下载的话,容易暴露相关的信息(处理文件页面有时直接在地址栏显示相关的 信息)。

Silverlight主要通过HtmlPage.Window.Navigate(new Uri(url));来访问一般处理文件,一 般处理文件执行文件下载(Response来执行);

到目前为止,开发华为悍马项目已经半年多了,主要 以MVC和Silverlight进行开发。因此,针对于当前的项目,本人试图以Silverlight调用Mvc action来进行下 载,如下的内容都将围绕该主题进行讲解(目前这个还木有更新到项目中,仅仅是本人笔记本上设计的)。

(二)相关类图以及FileDownloadResult

在MVC中,Action主要以ActionResult来作为返回结果,然后调用ActionResult的ExecuteResult() 方法来执行相关操作。然而,到目前为止关于文件操作的ActionResult主要为FileStreamResult、 FileContentResult以及FilePathResult,这些都不太方便使用(对于文件下载来说)。因此本人打算以 FileDownloadResult类来进行文件下载的相关操作。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, silverlight
, 文件下载
, public
处理
铁桶印刷最佳解决方案、silverlight mvc、spring mvc 最佳实践、mvc最佳实践、asp.net mvc 最佳实践,以便于您获取更多的相关知识。

时间: 2024-07-29 00:00:28

Silverlight以及Mvc最佳文件下载解决方案的相关文章

艾伟_转载:【译】12个asp.net MVC最佳实践

       上一周我我在罗马进行了两场对于开发完成不久的http://www.dotnetromacesta.org/的Asp.net MVC的演讲.而其中一场演讲内容是关于我对于Asp.net MVC最佳实践的看法.因为这场演讲是在意大利进行的,为了大家能更好的阅读,我将演讲所用的ppt翻译成英文. 关于Controller的最佳实践 1-删除AccountController     让Demo代码在你的程序中是一个非常不好的做法.请永远不要使用AccountController. 2-隔

华为FusionSphere为企业提供最佳云计算解决方案

5月9日,华为在桂林举办FusionSphere用户论坛,并就如何构筑云计算产业链和提供云计算最佳实践等议题,与来自全球的合作伙伴与行业客户进行了广泛而又深入的探讨.华为IT产品线总裁郑叶来在FusionSphere用户论坛上表示,我们正处在一个联接无处不在的数字化时代,云计算将成为提高企业效率.提升核心竞争力的IT关键因素.华为聚焦创新开放的 云计算数据中心解决方案,致力于打 造高可靠.高性能的开放云操作系统FusionSphere,并携手合作伙伴一起为客户打造业务驱动的最佳云计算解决方案.企

ASP.NET MVC之文件下载

http://www.cnblogs.com/zcttxs/archive/2012/05/21/2511947.html http://www.cnblogs.com/flashlm/archive/2009/07/25/file_stream_write_method.html http://www.cnblogs.com/liang--liang/archive/2012/10/20/2732745.html 一.MVC下载 方式一: public FileStreamResult Dow

asp.net mvc 的异常处理解决方案

推荐一个工具包自定义HTTP 404错误.如何在asp.net mvc上实现这样的功能呢?asp.net mvc 在创建项目的时候在Views的Shared目录下有一个错误处理页Error.aspx视图,这个默认的错误处理功能没有实现对错误日志的记录. 捕获所有的服务端异常包括HttpExeptions例如404错误,并且自定义错误处理的视图,同时将错误记录到数据库,发送给相关人员,综合下面两篇blog: Real world error hadnling in ASP.NET MVC RC2:

在虚拟空间上反搭建mvc+silverlight过程

发生在我的新同事身上,不止一次.希望你们看到不要生气,没人知道谁是我同事的.当我发ftp://192.168.123.4,我们公司的ftp的地址给他们并告诉他们公司资料有一部分放上面.他们第一反应就是输入到浏览器中.有又表达了一次:输入到资源管理器中.他们都是先是一愣.我指了一个已经打开的文件夹的地址栏说这里,他们才恍然所悟.     后来我想,一是对ftp的知识有点陌生,二是对资源管理器这个名称也比较陌生.也可见大家对一些基础的操作系统的知识还是缺乏.所以大家说网络课上教web,ftp部署等的

ASP.NET MVC 3 Razor 多国语言参考解决方案

转自 http://www.cnblogs.com/think8848/archive/2011/03/15/1984793.html   3月22日整理:实用示例请参考:这里 支持多国语言基本上是一个成熟产品必须支持的功能,但是直到想用这个功能时,发现居然找不到解决方案(很吃惊,真的没有提供么?),于是在网上搜索了好久,发现两种心仪的方案: 1: ASP.NET MVC 多语言解决方案 2: ASP.NET MVC - Localization Helpers 这两种方案都是针对WebForm

为ASP.NET MVC扩展异步Action功能

异步请求处理是ASP.NET 2.0中引入的高级特性,它依托IO Complete Port,对于提高IO密集型应用程 序的吞吐量非常重要(详见原理描述和性能测试).但是目前ASP.NET MVC框架缺少异步Action功能,这 也就是老赵经常挂在嘴边的那个"目前ASP.NET MVC所缺少的非常重要的功能".在TechED 2008 China的 Session中我曾经给出过一个所谓的"解决方案",但是它复杂性之高使那个解决方案有太多限制.为了 弥补TechED上

model-NET MVC和三层的数据层是否可以一起使用,用法区别?

问题描述 NET MVC和三层的数据层是否可以一起使用,用法区别? 请问MVC模式结合三层框架怎么实现啊? MVC的model和数据持久层可以并用吗? 解决方案 数据持久层用M就行. 如:hibernate 只是作为数据持久化框架使用,作为MVC中的M(module)来使用,通过ORM映射将表映射成对象,通过对映射出的对象的操作来改变表,仅作为MVC的一部分 解决方案二: 三层是三层,MVC是MVC,它们毫无关系的. 三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层). 三层

应用-关于Spring mvc 文件问题

问题描述 关于Spring mvc 文件问题 完成一个程序应用:在指定的文件夹下读取文件列表,列出文件名.物理路径.文件大小.文件日期:按照文件日期降序排序:支持单个文件下载和批量压缩下载 解决方案 解决Spring MVC @ResponseBody返回中文字符串乱码问题Spring MVC Json 乱码问题spring mvc 文件下载 解决方案二: 去百度,搜文件获取,有很多例子 解决方案三: 页面js function downManualTemplateClick(){ window