2

我有一个 XBAP 应用程序,它显示了一些图片,我的用户希望将其中一些保存到磁盘。但是我的 XBAP 应用程序在部分信任模式下运行,所以它无法启动SaveFileDialog,更不用说它无法访问文件系统。

在这种情况下,堆栈溢出推荐的将图片保存到磁盘的方法是什么?

4

1 回答 1

1

我找到了解决我的问题的方法,我将把这个答案作为一个社区 wiki。

正如预期的那样,由于部分信任安全限制,我无法访问文件系统、显示SaveFileDialog图像或将图像保存到剪贴板。

因此,我在站点上创建了一个.ashx 处理程序,从中部署了我的 XBAP 应用程序,它在 URL 字符串中接收某个图像 id,从数据库中查询图像,并context.WriteBinary在适当的内容下返回图像 ()标题“图像/JPEG”。

在我的 XBAP 中,而不是Image我放置的WebBrowser控件,提供了正确的 URI(您可能需要一个技巧来绑定 Source 属性)。您只能指定指向 XBAP 应用程序的源站点的 URI。它可以是绝对路径,也可以使用特殊语法,包括pack://siteoforigin:,,

瞧,现在图片支持带有“保存...”、“设置为背景”和所有其他有用元素的标准浏览器上下文菜单 :-)

于 2009-12-16T10:56:29.463 回答