Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从目录加载WP 8应用程序中的图像文件_C#_Windows Phone 8_Loading Image - Fatal编程技术网

C# 从目录加载WP 8应用程序中的图像文件

C# 从目录加载WP 8应用程序中的图像文件,c#,windows-phone-8,loading-image,C#,Windows Phone 8,Loading Image,我正在开发一个WP 8应用程序,我想加载一个当前在我的计算机驱动器上的映像。这是我的密码 try { using (FileStream fileStream = File.OpenRead("\\TiltFilter\\FilterEffects\\Assets\\AlignmentGrid.png")) { MemoryStream memStream = new MemoryStream(

我正在开发一个WP 8应用程序,我想加载一个当前在我的计算机驱动器上的映像。这是我的密码

  try
        {
            using (FileStream fileStream = File.OpenRead("\\TiltFilter\\FilterEffects\\Assets\\AlignmentGrid.png")) 
            {
                MemoryStream memStream = new MemoryStream();
                memStream.SetLength(fileStream.Length);
                fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
            }
        }
        catch (Exception e)
        {
            string str = e.Message;
        }
这给了我这种类型的例外

System.Io.DirectoryNotFoundexception
,消息为无法
找到路径的一部分
'C:\TiltFilter\FilterEffects\Assets\AlignmentGrid.png'

有人能帮我在WP8上加载memorystream中的图像吗


谢谢

手机不了解UNC网络路径-它不支持Windows文件服务器使用的SMB协议

您需要对文件进行打包,使其成为应用程序包(.xap文件)的一部分并位于手机本地,或者使用Web服务器(即使用http://protocol)提供资产

第一个选项显然是最健壮的,因为它不需要手机与服务器建立网络连接


有关如何执行此操作的示例,请参阅以了解打包“内容”和“资源”文件之间的区别(它提到XML文件,但概念对于任何文件类型都是相同的)。

手机不了解UNC网络路径-它不支持Windows文件服务器使用的SMB协议

您需要对文件进行打包,使其成为应用程序包(.xap文件)的一部分并位于手机本地,或者使用Web服务器(即使用http://protocol)提供资产

第一个选项显然是最健壮的,因为它不需要手机与服务器建立网络连接


有关如何执行此操作的示例,请参阅以了解打包“内容”和“资源”文件之间的区别(它提到了XML文件,但概念对于任何文件类型都是相同的)。

您需要将图像作为
内容添加到项目中,并使用
GetResourceStream
访问图像流:

var resource = App.GetResourceStream(new Uri("Assets/AlignmentGrid.png", UriKind.Relative));
var buffer = new byte[resource.Stream.Length];
resource.Stream.Read(buffer, 0, buffer.Length);

您需要将图像作为
Content
添加到项目中,并使用
GetResourceStream
访问图像流:

var resource = App.GetResourceStream(new Uri("Assets/AlignmentGrid.png", UriKind.Relative));
var buffer = new byte[resource.Stream.Length];
resource.Stream.Read(buffer, 0, buffer.Length);

Windows phone应用程序只能访问它自己的和SD卡


如果您想在Pc和手机之间共享文件,可以使用Web服务。

Windows Phone应用程序只能访问它自己的和SD卡


如果您想在Pc和手机之间共享文件,可以使用Web服务。

是的,没错。因此,如何从wp8应用程序中的资产文件夹加载图像,我的建议与Paul在下面的建议相同。您甚至可以将其作为项目内容文件的一部分,以便在每次部署应用程序时自动对其进行复制。如果这是一次性操作,手动复制可能要快得多。是的,没错。因此,如何从wp8应用程序中的资产文件夹加载图像,我的建议与Paul在下面的建议相同。您甚至可以将其作为项目内容文件的一部分,以便在每次部署应用程序时自动对其进行复制。如果这是一次性操作,手动复制可能会快得多。还可以将Vs studio中图像的属性更改为内容。并将“复制到输出目录”的属性设置为“更新时复制”。谢谢!这有助于我将应用程序加载中的本地文本文件复制到MemoryStream。MemoryStream ms=新的MemoryStream();resource.Stream.CopyTo(ms);我一直挂断电话,因为在构建之前我没有将文本文件属性设置为“内容”。同时将Vs studio中图像的属性更改为“内容”。并将“复制到输出目录”的属性设置为“更新时复制”。谢谢!这有助于我将应用程序加载中的本地文本文件复制到MemoryStream。MemoryStream ms=新的MemoryStream();resource.Stream.CopyTo(ms);我一直挂断,因为在构建之前我没有将文本文件属性设置为“Content”。