Siverlight 4.0: как открыть файл - PullRequest
0 голосов
/ 11 марта 2010

Я хочу создать программу, которая открывает мой файл на клике, предоставляя его содержимое в формате byte [] на новой странице.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 14 марта 2010

OpenFileDialog предоставляет эту возможность, и он работает так же в версиях Silverlight со 2 по 4.

Вот простая функция, которая считывает байты в байтовый массив для вас.

http://msdn.microsoft.com/en-us/library/system.windows.controls.openfiledialog(VS.95).aspx

OpenFileDialog ofd = new OpenFileDialog()
{
    Multiselect = false,
};
if (ofd.ShowDialog() == true)
{
    FileInfo file = ofd.File;
    byte[] bytes;
    using (FileStream fs = file.OpenRead())
    {
        bytes = new byte[fs.Length];
        int l = (int)fs.Length;
        int r = 0;
        while (l > 0)
        {
            int read = fs.Read(bytes, r, l);
            if (read != 0)
            {
                r += read;
                l -= read;
            }
        }
    }

    // All the bytes of the file are now in the "bytes" array
}
...