【发布时间】:2011-09-18 15:17:30
【问题描述】:
我们如何通过我的 silverlight 应用程序访问 .jpg 文件,这些文件位于 asp.net Web 应用程序的文件夹中?
【问题讨论】:
标签: c# .net asp.net silverlight
我们如何通过我的 silverlight 应用程序访问 .jpg 文件,这些文件位于 asp.net Web 应用程序的文件夹中?
【问题讨论】:
标签: c# .net asp.net silverlight
如您所知,Silverlight 应用程序在客户端计算机上运行,位于 SL 浏览器插件中;仅此一项就意味着并强制这样一个事实,即文件之类的服务器资源在其中不可用,并且无法通过路径(绝对或相对...)访问。
您可能应该做的是公开一些服务(例如 WCF 端点),这些服务允许您从服务器端检索文件内容,然后在 SL 应用程序中呈现它。
网上有很多例子,我发现这篇文章有一些示例代码,也可以下载。
Loading Files From a Remote Server in Silverlight
编辑:如果您有图片的完整 url,您还可以使用其他方法,因为该图片将在 Web 服务器提供的该 url 上可用,并且不需要任何额外的努力被传送,例如:
<Canvas x:Name="LayoutRoot" Background="White">
<Image x:Name="MyImage"></Image>
</Canvas>
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
BitmapImage bi = new BitmapImage();
bi.UriSource = new Uri("http://www.silverlightdev.net/images/blogImages/Sample.png");
MyImage.Source = bi;
MyImage.ImageOpened += new EventHandler<RoutedEventArgs>(MyImage_ImageOpened);
}
void MyImage_ImageOpened(object sender, RoutedEventArgs e)
{
// Image load complete.
}
}
我直接从这里复制了这段代码:
Silverlight Tip of the Day #86 – How to Load External Images
【讨论】: