.NET指定图片地址下载并转换Base64字符串

简介: .NET指定图片地址下载并转换Base64字符串
+关注继续查看

需求描述

    需要调用第三方图片上传接口上传图片,对方图片格式只能接收Base64字符串。所以我们需要将系统服务器的图片通过Url下载下来,然后转换成Base64字符串。接下来我们将使用HttpClient类库下载图片并将其转换为Base64格式的字符串。

代码示例

/// <summary>
        /// 获取图片的Base64字符串
        /// </summary>
        /// <param name="imageUrl">imageUrl</param>
        /// <returns></returns>
        public static async Task<string> GetImageBase64StringAsync(string imageUrl)
        {
            // 创建 HttpClient 实例
            using (var httpClient = new HttpClient())
            {
                // 下载图片
                var response = await httpClient.GetAsync(imageUrl);
                var contentStream = await response.Content.ReadAsStreamAsync();

                // 将图片转换为 Base64 格式的字符串
                using (var memoryStream = new MemoryStream())
                {
                    await contentStream.CopyToAsync(memoryStream);
                    string base64String = Convert.ToBase64String(memoryStream.ToArray());
                    return base64String;
                }
            }
        }

转换图片

原图地址:https://rs1.huanqiucdn.cn/dp/api/files/imageDir/ce59747892d2b84f8c9b7f9d2561c765.png

image

方法调用

var getImageBase64String = GetImageBase64StringAsync("https://rs1.huanqiucdn.cn/dp/api/files/imageDir/ce59747892d2b84f8c9b7f9d2561c765.png").ConfigureAwait(false).GetAwaiter().GetResult();

验证转换的Base64字符串是否能成功转成原图片

在线Base64转图片:https://www.lddgo.net/convert/base64-to-image

image

相关文章
|
2月前
|
Windows
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
132 0
|
5月前
|
数据库 C#
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
84 0
|
11月前
下载.Net Framework离线安装文件的办法
下载.Net Framework离线安装文件的办法
79 0
|
算法 API 项目管理
项目管理控件Aspose.Tasks for .NET v19.7发布上线!附下载
  Aspose.Tasks for .NET是一个可靠的项目管理API,用于处理Microsoft Project文件。支持读取,写入和操作Microsoft Project文档,而不依赖于任何Microsoft Project。此外,API公开项目数据以提供完整的项目规划,定义和跟踪功能。   Aspose.Tasks for .NET展示了项目数据,如任务,资源,资源分配和扩展属性数据,以便开发人员可以操作它们。用户可以通过创建和读取任务和资源来完全规划项目,并为任务分配或删除资源。用户可以操纵任务约束,优先级,关键和工作驱动的任务,停止或恢复任务和拆分任务,管理扩展属性,链接任务并将
104 0
|
消息中间件 NoSQL Cloud Native
2700页的微软《.NET5.0官方文档.pdf》出炉,限时下载
2700页的微软《.NET5.0官方文档.pdf》出炉,限时下载
233 0
2700页的微软《.NET5.0官方文档.pdf》出炉,限时下载
相关产品
云迁移中心
推荐文章
更多