无效的URI转义(.Net 4.5)

时间:2013-12-04 19:51:39

标签: c# .net url encoding uri

我遵循C#代码(.Net 4.5)

var bi = new BitmapImage();
bi.BeginInit();
bi.DecodePixelWidth = 64;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = new Uri(_filename);
bi.EndInit();
bi.Freeze();
return bi;

在打开的本地文件中 C:\Users\KVV\Desktop\1111111111111\Windows%20XP6.jpg

Сatch例外 System.IO.FileNotFoundExceptionFileName = C:\Users\KVV\Desktop\1111111111111\Windows XP6.jpg

%20被替换为空格

如何为这些文件创建工作URL(只需要本地文件)。 或者可以创建BitmapImage而无需为本地文件创建url。

1 个答案:

答案 0 :(得分:0)

使用FileStream可以解决问题。

        using (var stream = System.IO.File.OpenRead(s))
        {
            var img1 = new BitmapImage();
            img1.BeginInit();
            img1.CacheOption = BitmapCacheOption.OnLoad;

            img1.StreamSource = stream;
            img1.EndInit();
            im1.Source = img1;
        }

但是这种行为Uri与bug类似。