(一)前言
目前,在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 最佳实践,以便于您获取更多的相关知识。