显示先前上载到服务器的图像

时间:2011-12-13 17:13:25

标签: c# silverlight image upload

对于我正在工作的项目,我希望用户(管理员)能够更改他当前所在页面上的图片。我设法使用interlink将图像上传到“服务器”。这基本上将它上传到服务器上的给定文件夹,在我的例子中是:Interlink / Uploads。

但现在我真的不知道如何告诉我的网站用上传图片的来源替换当前显示的图片来源。

我想做的另一件事是创建一个包含该文件夹中所有图像的简单图像库,再一次我不知道如何做到这一点。

我希望有人可以帮助我,谢谢。 托马斯

编辑:如此澄清,应用程序是用silverlight(XAML,C#)编写的。对于给您带来的任何不便,我们深表歉意。

1 个答案:

答案 0 :(得分:0)

我认为这个问题的“Silverlight”部分只与Interlink(你的文件上传器)有关,而不是与页面本身有关,我认为这是直接的HTML。

如果是这种情况,您可以通过多种方式更改本地图像。最简单的方法就是等到你知道你的文件上传已经完成(大概是Interlink有办法告诉你这是这种情况),然后运行像这样的JavaScript:

<script type='text/javascript'>
    function changeImage(newImageSource) {
        document.getElementById('myTargetImage').setAttribute('src', newImageSource);
    }
</script>

至于显示包含文件夹中所有图像的简单图像库,我的建议是查看处理此类事物的众多jquery插件之一,例如:

http://www.1stwebdesigner.com/css/fresh-jquery-image-gallery-display-solutions/

编辑:Silverlight选项

你基本上有相同的选项,除了你用C#代替JavaScript。例如,当Interlink告诉您新图像已上传时,请运行以下命令:

string imageName = "something.jpeg";
var ub = new UriBuilder(HtmlPage.Document.DocumentUri);
ub.Path = "/Interlink/Uploads/" + imageName;
img.Source = new BitmapImage(ub.Uri);

对于图像轮播,这样的事情:

http://3dimagecarousel.codeplex.com/

您只需提供所有图片的网址即可。最简单的方法是公开一个列出所有内容的Web服务方法。