none
关于图片加载的问题 RRS feed

  • 问题

  • cs
    item.CarouselImage.Source = new BitmapImage(new Uri("http://localhost/App_Data/Images/1.jpg", UriKind.Absolute));

    xaml
    <Image Height="96" Width="140" Canvas.Left="0" Canvas.Top="0" Margin="5,2,5,2" Cursor="Hand" x:Name="CarouselImage" OpacityMask="#FF000000" />

    在执行的时候会出现
    Sys.InvalidOperationException: ImageError error #4001 in control 'Xaml1': AG_E_NETWORK_ERROR”的错误。
    请高人指点一下。
    2009年7月17日 1:35

答案

  • 不要放在App_Data这个文件夹内,这个是专门为了保护数据库文件设置的文件夹,自己新建个Image文件夹,把图片资源都放在那里就好了
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年7月17日 15:43
    版主

全部回复

  • Silverlight 好像只能用相对地址,不能加载绝对地址图片。
    2009年7月17日 2:52
  • 改成relative试试
     Uri imguri = new Uri("./Image/8-5.jpg", UriKind.Relative);
    2009年7月17日 6:48
  • 你的文件夹受保护的 可能不能访问 你换一下普通文件夹试试看

    2009年7月17日 7:26
  • 第一个回复是正确的,silverlight只能使用相对地址。

    http://msdn.microsoft.com/zh-cn/library/cc838137(VS.95).aspx

    见备注:

    Source URI 可以表示相对路径。相对路径基于包含 object 元素的 HTML 页的位置。如果使用相对路径,请始终使用斜杠字符 (/) 进行遍历。Silverlight 不支持将反斜杠字符 (\) 用于相对路径。

    为安全起见,您不能将 Source 属性设置为如下的 URI:此 URI 并非来自承载 Silverlight 插件实例的 HTML 页的源站点。因此,您应只使用相对引用来指定 Source URI。
    2009年7月17日 8:17
  • 说的能再具体一点吗。
    感觉好抽象啊。
    最好举个例子,谢谢了。

    2009年7月17日 13:48
  • 你要保证http浏览http://localhost/App_Data/Images/1.jpg 能看到这张图片,Image控件才能加载,相对都是相对于xap所在位置的


    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年7月17日 14:16
    版主
  • 在http中浏览果真看不到图片。

     


    版本信息: ASP.NET Development Server 9.0.0.0

    文件夹的只读属性我也改了,但是好像不好用。

    说是这样的错误,请问要怎么解决?
    如果可能的话,也告诉我怎么样加载服务器端的图片,显示在客户端。
    谢谢。

    “/”应用程序中的服务器错误。

    HTTP 错误 403 - Forbidden。

    2009年7月17日 15:21
  • 不要放在App_Data这个文件夹内,这个是专门为了保护数据库文件设置的文件夹,自己新建个Image文件夹,把图片资源都放在那里就好了
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年7月17日 15:43
    版主
  • 通常来说,我会把图片文件作为资源文件独立放在一个文件夹,或者一个项目中,进行调用。但是必须确保图片能正常被访问。

    2009年7月17日 15:54
  • xaml:
    <Image Height="96" Width="140" Canvas.Left="0" Canvas.Top="0" Margin="5,2,5,2" Cursor="Hand" x:Name="CarouselImage" OpacityMask="#FF000000">
        <Image.Source>
            <BitmapImage x:Name="CarouselImageJpg"/>
        </Image.Source>
    </Image>

    c#:
    CarouselImageJpg.UriSource = New Uri("/App_Data/Images/1.jpg", UriKind.Relative)

    ------------------------------

    有时候下载慢,还可以加一个进度。
    xaml:
    <Image Height="96" Width="140" Canvas.Left="0" Canvas.Top="0" Margin="5,2,5,2" Cursor="Hand" x:Name="CarouselImage" OpacityMask="#FF000000">
        <Image.Source>
            <BitmapImage x:Name="CarouselImageJpg" DownloadProgress="CarouselImageJpg_DownloadProgress"/>
        </Image.Source>
    </Image>

    ------------------------------

    可以到我们公司的一个产品网站看一下效果。www.heartsfoods.com -> 烹饪 -> 照片参考
    • 已编辑 uncode 2009年7月17日 18:16
    2009年7月17日 18:00