Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我可以在客户机上写一个文件吗';使用silverlight的s PC_.net_Silverlight - Fatal编程技术网

.net 我可以在客户机上写一个文件吗';使用silverlight的s PC

.net 我可以在客户机上写一个文件吗';使用silverlight的s PC,.net,silverlight,.net,Silverlight,我需要编写一个web应用程序,允许客户端从服务器下载一个文件,到目前为止还不错,但该文件必须经过某种编码,因此我需要在客户端对其进行解码,并将其写入客户端PC上的文件 我能用Silverlight做这个吗?怎么做 如果不可能,还有其他方法吗?。有什么建议吗 谢谢 编辑:对于Brian Genisio,我可以请求用户许可来保存文件,因此我认为打开和保存对话框适合我的情况。但是,如果这还不够,是否有一种方法可以在有或没有用户交互的情况下将文件保存在独立存储之外,例如,为用户模拟新的下载?您可以使用s

我需要编写一个web应用程序,允许客户端从服务器下载一个文件,到目前为止还不错,但该文件必须经过某种编码,因此我需要在客户端对其进行解码,并将其写入客户端PC上的文件

我能用Silverlight做这个吗?怎么做

如果不可能,还有其他方法吗?。有什么建议吗

谢谢

编辑:对于Brian Genisio,我可以请求用户许可来保存文件,因此我认为打开和保存对话框适合我的情况。但是,如果这还不够,是否有一种方法可以在有或没有用户交互的情况下将文件保存在独立存储之外,例如,为用户模拟新的下载?

您可以使用silverlight使用类来实现此目的

另一个链接:

出于安全原因:

基于Silverlight的应用程序不需要 使用操作系统的文件系统 系统和仅限于使用 要持久化和访问的隔离存储 文件,因此此命名空间[System.IO]不会 提供任何附加功能。 欲了解更多有关如何 基于Silverlight的应用程序使用 隔离存储,请参阅

如果可能的话,您可能希望对其进行转换,以便服务器进行编码,并以传统方式提供文件供下载


如果您对隐私/安全进行编码,考虑仅在安全协议(HTSPS使用SSL)提供下载。

在Silverlight 3中,您将可以通过该文件访问和写入文件。在Silverlight 2.0中,您可以访问独立的Sotrage,这将允许您保存到沙箱。但是,如果没有用户许可,您可能永远无法完全访问文件系统。

另一种选择(不优雅但可行)可能是使用服务执行乒乓球:

  • 从服务器获取文件
  • 在客户端执行所需的编码/转换
  • 使用WCF服务再次将其发送到服务器,并将其存储在会话中
  • 从SL调用javascript方法,该方法将向自定义HTTP hanlder发出请求
  • 自定义HTTP hanlder将以附件的形式返回会话中的文件(IE中的讨厌的条第一次出现时…您将下载一些东西…)
我的情况稍微简单一些,在我的应用程序中,我需要将DB图导出到JPEG,并执行导出到HTML报告,我使用了这种方法(乒乓:)

如果您想看一看:


Braulio

对于Silverlight 4,您可以通过使用AutomationFactory自动化文件系统对象,以一种原始的方式来实现这一点

见: