Monodroid从网址保存图片

ada*_*dam 3 url image xamarin.android

你好,我正在构建的应用程序可以处理存储在服务器上的很多图像,并且需要在列表视图中显示它们.我希望能够将它们存储在一个文件中.

到目前为止,这是我的代码

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

但我不知道如何保存图像或保存图像.

任何帮助?

谢谢

jon*_*onp 7

你是在思考这个问题.:-)

一旦你有了Stream:

var imageUrl = new Java.Net.URL(obj.imageUrl);
System.IO.Stream stream = imageUrl.OpenStream();
Run Code Online (Sandbox Code Playgroud)

你可以把它保存到磁盘:

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);
}
Run Code Online (Sandbox Code Playgroud)

Environment.GetFolderPath(Environment.SpecialFolder.Personal)返回$ APPDIR/files,即Context.FilesDir.你不一定需要使用它; Context.CacheDir可能更合适.