使用带有重音符号的文件名在StreamWithExternalResource中崩溃

时间:2013-01-23 17:45:29

标签: file windows-8 microsoft-metro windows-store-apps non-ascii-characters

我必须阅读带有重音符号的图片文件夹中的图像(例如“éleá”)。此名称与具有重音符号的数据库相关联。我正在使用客户端的这些资源,不知道我是否可以更改数据库和文件名。

我使用此代码成功加载没有重音的图像:

IRandomAccessStream stream = StreamWithExternalResource(resourcePath).Result;

BitmapImage bitmapImage = new BitmapImage();
bitmapImage.SetSource(stream);

image.Source = bitmapImage;

是否可以在windows metro / store apps中读取具有重音符号的文件?

1 个答案:

答案 0 :(得分:1)

命名文件的规则可以在这篇MSDN文章中找到:

http://msdn.microsoft.com/en-us/library/aa365247.aspx

重音符号应该没有任何问题,例如áéíóú,但使用保留字符会遇到问题,例如<>|\/

我要尝试的是使用常量文件名对resourcePath进行硬编码,并确保数据库没有任何奇怪的内容。另一个测试是使用GetShortPathName函数将长文件名转换为短文件名(8.3 MS-DOS格式)。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364989(v=vs.85).aspx