【问题标题】:Monodroid save image from urlMonodroid 从 url 保存图像
【发布时间】:2011-04-10 09:23:58
【问题描述】:

您好,我正在构建的应用程序适用于存储在服务器上的大量图像,并且需要在列表视图中显示它们。我希望能够将它们存储在文件中。

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

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

但我不知道如何保存图像或将其保存在哪里。

有什么帮助吗?

谢谢

【问题讨论】:

    标签: image url xamarin.android


    【解决方案1】:

    你想多了。 :-)

    一旦你有了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 可能更合适。

    【讨论】:

    • 感谢 jonp。我认为缓存是最好的,但只是为了确保这是我应该使用的路径? System.Environment.SpecialFolder.InternetCache
    • 没关系 jonp this.ApplicationContext.CacheDir.ToString(); 想通了。但是,非常感谢你的代码,我真的很感激!
    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 2010-10-17
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多