image - Monodroid 从 url 保存图像

标签 image url xamarin.android

您好,我正在构建的应用程序需要处理存储在服务器上并需要在 ListView 中显示的大量图像。我希望能够将它们存储在一个文件中。

到目前为止这是我的代码

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

但我不知道如何保存图像或保存图像的位置。

有什么帮助吗?

谢谢

最佳答案

你想多了。 :-)

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

关于image - Monodroid 从 url 保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5610860/

相关文章:

javascript - 在 JavaScript 中编码 URL?

azure - URL 中出现 5 个字符

android - Xamarin 安卓 : Cannot resolve GoogleSignIn and GoogleSignInClient

C# Xamarin.Android 图像显示在文件管理器中而不是库中

Java Swing 在 MigLayout 中添加图像代码似乎不起作用?

android - 我正在为 android 上传照片

image - 使用Dockerfile构建镜像-未知指令

javascript - 使用 jQuery 的自动可点击图片库,第一张图片淡入/淡出但其他图片不淡入?

javascript正则表达式解析数组语法字符串几乎可以工作

c# - Xamarin.Forms 如何使按钮显示在一行中