首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从服务器下载映像并进行转换

从服务器下载映像并进行转换
EN

Stack Overflow用户
提问于 2018-12-02 18:38:59
回答 1查看 73关注 0票数 0

我想从服务器下载图像并显示出来。我得到标题类型图像/png作为现在如何转换为图像?

我得到了头像:

缓存-控制:公共,最大年龄=86400连接:保持活动日期:2018年11月30日12:32:08格林尼治时间保持活动: timeout=5,max=99 OkHttp-接收-Millis: 1543581128745 OkHttp-Selected-协议:http/1.1OkHttp-发送-Millis: 1543581128514 Server: Apache/2.4.33 (亚马逊) OpenSSL/1.0.2k-fips PHP/7.0.30 X-由以下驱动: PHP/7.0.30内容长度: 26190内容类型:图像/png保持活动: timeout=5,max=99 OkHttp-接收-Millis: 1543581128745 OkHttp-选择-协议:http/1.1Okhttp-发送-Millis: 1543581128514 X供电-By: PHP/7.0.30 }

代码语言:javascript
复制
 public async Task<AvatarModel> GetAvatar(string dpi, Int64 uin)
    {
        var response = await BasicRequestAsync(string.Format(AVATAR_URL, dpi, uin), HttpMethod.Get, true, null, null, false);

        if(response == null) return null;

        var stream = await response.Content.ReadAsStreamAsync();
        .....
    }

Serwer:标题:

IMToken: 123123123 uin: 123 用户代理:.

返回带有标题内容类型: image/png的未打包映像。

代码语言:javascript
复制
 public class AvatarModel
{
    public AvatarModel() { }

    public AvatarModel(AvatarResponseModel model)
    {
        Id = model.Id;
        Base64 = model.Base64;
    }

    public Int64 Id { get; set; }

    private string base64;
    public string Base64
    {
        get { return base64; }
        set
        {
            base64 = value;

            AvatarImage = Xamarin.Forms.ImageSource.FromStream(
                () => new MemoryStream(Convert.FromBase64String(base64)));
        }
    }

    public ImageSource AvatarImage { get; set; }
}
代码语言:javascript
复制
  public class AvatarResponseModel
    {
        [JsonProperty("Id")]
        public Int64 Id { get; set; }

        [JsonProperty("base64")]
        public string Base64 { get; set; }
    }
EN

回答 1

Stack Overflow用户

发布于 2018-12-03 10:30:29

我做了那样的事,但我不知道它是否好?

代码语言:javascript
复制
 public async Task<Image> GetAvatar(string dpi, Int64 uin)
        {
            var response = await BasicRequestAsync(string.Format(AVATAR_URL, dpi, uin), HttpMethod.Get, true, null, null, false);

            if(response == null) return null;

            var stream = await response.Content.ReadAsByteArrayAsync();

            Image image = new Image();

            image.Source = ImageSource.FromStream(() => new MemoryStream(stream));

            return image;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53583392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档