Monodroid сохранить изображение с URL - PullRequest
3 голосов
/ 10 апреля 2011

Здравствуйте, приложение, которое я создаю, работает со многими изображениями, которые хранятся на сервере и должны отображаться в виде списка.Я хотел бы иметь возможность хранить их в файле.

пока вот код, который у меня есть

var imageUrl = new Java.Net.URL(obj.imageUrl);
var bitmap = Android.Graphics.BitmapFactory.DecodeStream(imageUrl.OpenStream());
var image = new Android.Graphics.Drawables.BitmapDrawable(bitmap);

, но я не знаю, как сохранить изображение или где его сохранить.

любая помощь?

спасибо

1 Ответ

7 голосов
/ 14 апреля 2011

Вы думаете об этом. : -)

Как только у вас есть Stream:

var imageUrl = new Java.Net.URL(obj.imageUrl);
System.IO.Stream stream = imageUrl.OpenStream();

Вы можете просто сохранить его на диск:

using (var o = File.Open(
        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal),
            "file-name"))) {
    byte[] buf = new byte[1024];
    int r;
    while ((r = stream.Read(buf, 0, buf.Length)) > 0)
        o.Write (buf, 0, r);
}

Environment.GetFolderPath(Environment.SpecialFolder.Personal) возвращает $ APPDIR / files, то есть Context.FilesDir . Вам не обязательно использовать это; Context.CacheDir может быть более подходящим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...