2010-08-05 126 views
0

我有任务给我的应用程序可能性打开位于服务器上的文件,但我不知道如何实现这一点。 请给出主要想法,我该如何做到这一点?Silverlight从服务器打开文件

+2

你打开文档是什么意思。你想在Silverlight应用程序中显示它的内容吗?或者,您是否想要查看您打开PDF文件时获得的标准浏览器行为? – 2010-08-05 09:52:25

+1

标准浏览器行为。但如果它可能显示自定义下载进度条并打开文件而不询问“下载或打开”...如果它可能,如果不是简单的浏览器行为。 – Evgeny 2010-08-05 12:49:21

回答

2

如果您尝试基于MIME扩展名打开文件,但不提示用户,您实际上无法在Silverlight Web应用程序中执行该操作(无论是哪种情况,MIME启动或在不提示用户的情况下打开文件)。 Silverlight不是一个“浏览器标准”,它的很多看起来残缺不全的功能都是出于安全性的考虑,并且提供了更安全的用户体验。 (您不希望Silverlight应用程序随机读取硬盘驱动器上的文件,而您不知道该文件,现在就默默地将它们上传到某个地方,是吗?)

我相信你可以做任何你想做的事在Silverlight 4中,但它需要提升的权限(因此它必须安装在浏览器之外)以及一点点的COM hackery。

提升的权限不会让您直接访问“我的”文件夹以外的文件,所以我不认为如果您想保留跨平台兼容性苹果电脑。然而,如果你不关心这一点,你可以通过利用Windows系统COM对象(特别是WScript.Shell和Scripting.FileSystemObject对象)来完成关于文件访问的任何事情。

Here's and example. 滚动到COM互操作性部分。

相关问题