【问题标题】:Displaying image that was previously uploaded to server显示之前上传到服务器的图像
【发布时间】:2012-01-19 13:34:40
【问题描述】:

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

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

我想做的另一件事是创建一个简单的图片库,其中包含该文件夹中的所有图片,但我还是不知道该怎么做。

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

编辑:澄清一下,该应用程序是用 Silverlight(XAML、C#)编写的。对于给您带来的任何不便,我深表歉意。

【问题讨论】:

    标签: c# silverlight image upload


    【解决方案1】:

    我认为这个问题的“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/

    您只需提供所有图片的 URL。最简单的方法可能是公开一个列出所有这些的 Web 服务方法。

    【讨论】:

    • 抱歉,该应用程序完全是用silverlight(例如xaml)编写的,所以我没有HTML。对于给您带来的不便,我深表歉意。
    • 谢谢,我试试看:)
    • 我似乎无法弄清楚如何从上传的图像中获取 URL,我能找到的唯一文档是 this 。不过感谢您的帮助。
    • 可能想将其添加为一个单独的问题。确切的答案将取决于各种不同的细节。但是如果 Interlink 上传器确实将它们放在一个名为 /Interlink/Uploads/ 的目录中,该目录挂在 Web 服务器之外,并且如果您在用户上传文件之前知道文件的名称,那么您应该能够访问文件在whateveryoururlis.com/Interlink/Uploads/…。
    猜你喜欢
    • 2011-10-08
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多