.net 使用Silverlight(混合)显示文件夹中的图像

.net 使用Silverlight(混合)显示文件夹中的图像,.net,xml,silverlight,expression-blend,photo,.net,Xml,Silverlight,Expression Blend,Photo,我有一个网络目录,里面有我们公司所有员工的照片。这些图像被命名为FirstnameLastinitial.jpg。我最终尝试在Silverlight中构建这些图片的照片浏览器,但我想我将从如何从该位置获取图片开始 我想我应该根据文件夹中的图片生成一个XML文件,或者我应该使用DB。然后我就可以用,也许,这个来展示它们。这只是展示它们的一种可能方式 如果我创建了一个XML外壳,如下面所示,那么我是否也可以允许我的应用程序在生成后修改XML <Photo> <URL>Im

我有一个网络目录,里面有我们公司所有员工的照片。这些图像被命名为
FirstnameLastinitial.jpg
。我最终尝试在Silverlight中构建这些图片的照片浏览器,但我想我将从如何从该位置获取图片开始

我想我应该根据文件夹中的图片生成一个XML文件,或者我应该使用DB。然后我就可以用,也许,这个来展示它们。这只是展示它们的一种可能方式

如果我创建了一个XML外壳,如下面所示,那么我是否也可以允许我的应用程序在生成后修改XML

  <Photo>
<URL>Images/img10.jpg</URL>
<ImageName>Test 2</ImageName>
<ImageDescription>This is a picture of someone</ImageDescription>
 </Photo>

我希望能够从本地网络共享(\\server\share\filename.jpg)或服务器Web部分中的文件夹中读取它们。

我不是想离题或其他什么,您绝对需要使用Silverlight吗?我没有安装它,也从未使用过它,所以我看不到你在链接中发布的网站上它是什么样子。我所知道的是,在PHP中,从目录中的图像输出图片作为相册是非常非常容易的:

1-扫描目录中的图片:

 $dir = opendir($filePath);
 $fileCount = 0;
 while ($file = readdir($dir)) {
     if (eregi($Ext,$file)) { //$Ext = Extension of the file you're looking for (.jpg)
         $files[$fileCount] = $file;
         $fileCount++;
     }
 }
 sort($files);//This will, obviously, sort the array alphabetically.
 return $files;
2-在数组中运行(用于、while或任何您喜欢的内容),并在某种容器中输出文件路径:

echo '<div id="img'.$i.'" class="pictures"><img src="'.$ArrayOfPictures[$i].'" /></div>';
echo';
3-差不多就是这样。您还可以添加一个函数来构建缩略图,然后添加一个指向缩略图的链接,当单击时,缩略图将全屏显示图像。您可以使用CSS和javascript,通过使用alpha使鼠标上的图片“更白”。Php很简单,大部分事情都已经完成了。谷歌将是一个非常好的朋友:)


如果您一直使用Silverlight tho,那么很抱歉我浪费了您的时间。

因此,有一件事需要记住,Silverlight是一种客户端技术。在Silverlight中编写的所有代码都在客户端计算机上执行,而不是在web服务器上执行。因此,如果您问“Silverlight可以从文件夹读取文件吗?”,那么您似乎是在问Silverlight是否可以从客户机读取文件,答案是否定的,因为这显然是一个主要的安全问题

但我假设您希望从服务器上的目录而不是客户端上的目录读取文件;这也无法完成,因为代码没有在服务器上执行

所以,要想做你想做的事,你可以这样做: 通过Web服务器使图像目录可用,以便您可以通过等访问图像。现在,您可以使用常规图像元素显示图像,并将源设置为适当的URL

那么剩下的问题是,;Silverlight应用程序如何知道可用的图像?i、 它需要能够以某种方式“获得目录列表”。这是必须由web服务器提供的。如果您愿意,您可以设置某种web服务,Silverlight应用程序可以调用该服务来获取图像URL列表。或者,如果你想要一个完全简单的解决方案;只需放置一个文本文件,其中包含在其中找到的图像列表,并从Silverlight使用WebClient.DownloadString下载此列表


使用web服务还是使用文本列表取决于您(web服务可能更好,但稍微复杂一些)。

绝对不是在浪费我的时间。我建议Silverlight是因为我们是A)一家微软商店,B)我想学习SL,C)我想向老板展示SL应用程序有多好看。如果我在这条路上失败了,那么你的方向就是我的方向。如果你在silverlight中失败了,在ASP.Net中这是一件非常容易的事情。如果你是一家以微软服务器为主的微软商店,我会先看一下php,事实上,在php中可以完成的大部分工作都可以在asp.net中完成。祝你好运!顺便说一下,他就是我所说的一个例子:那是一个我正在建设/更新的网站。里面的所有内容都是用PHP编写的,非常简单。如果你决定这样做,我甚至可以给你一些代码。一切都是可定制的。同样的模块也用于另一个页面:它现在在IE中看起来可能非常好,因为我还没有测试过它,而且CSS“黑客”还没有在IE中完成。应该可以在任何像样的web浏览器中正常工作(tho;)
echo '<div id="img'.$i.'" class="pictures"><img src="'.$ArrayOfPictures[$i].'" /></div>';