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

net,指定,图片,地址,下载,转换,base64,字符串 · 浏览次数 : 170

小编点评

**代码示例:** ```csharp using System; using System.Threading.Tasks; using System.Net.Http; using System.IO; public static async Task 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; } } } ``` **使用方法:** ```csharp var imageUrl = "https://rs1.huanqiucdn.cn/dp/api/files/imageDir/ce59747892d2b84f8c9b7f9d2561c765.png"; string base64String = await GetImageBase64StringAsync(imageUrl).ConfigureAwait(false).GetAwaiter().GetResult(); Console.WriteLine(base64String); ``` **说明:** * `imageUrl` 是要获取图片的 URL。 * `GetImageBase64StringAsync` 是一个异步方法,它返回一个字符串,表示图片的 Base64 字符串。 * 代码首先创建了一个 `HttpClient` 实例。 * 然后,它下载图片并将其写入 `MemoryStream` 中。 * 最后一个步骤是将 `MemoryStream` 中的字节数组转换为 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

方法调用

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

 

与.NET指定图片地址下载并转换Base64字符串相似的内容:

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

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

使用C#/.NET解析Wiki百科数据实现获取历史上的今天

创建一个webapi项目做测试使用。 创建新控制器,搭建一个基础框架,包括获取当天日期、wiki的请求地址等 创建一个Http请求帮助类以及方法,用于获取指定URL的信息 使用http请求访问指定url,先运行一下,看看返回的内容。内容如图右边所示,实际上是一个Json数据。我们主要解析 大事记 部

[转帖]jar启动指定JDK/JRE 安装路径教程

https://blog.csdn.net/weixin_40986713/article/details/128136777 前言 因为疫情在家办公的缘故,有个老项目,需要改个接口,然后需要前端联调,因为外网服务器没有多余的空间了,想着把jar给前端让前端开发人员,在自己的本机启动后端服务,进行接

[转帖]指定运行时动态库位置的三种方式

https://blog.csdn.net/gx_1983/article/details/78352457 指定运行时动态库位置的三种方式 在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可通过三种方法来指定:方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径;方法二:

[转帖]Linux下在文件内部指定行(首行、末尾行等)插入内容

https://blog.csdn.net/drbing/article/details/52153766 1、在文件的首行插入指定内容: :~$ sed -i "1i#! /bin/sh -" a 执行后,在a文件的第一行插入#! /bin/sh - 2、在文件的指定行(n)插入指定内容: :~$

在System身份运行的.NET程序中以指定的用户身份启动可交互式进程

今天在技术群里,石头哥向大家提了个问题:"如何在一个以System身份运行的.NET程序(Windows Services)中,以其它活动的用户身份启动可交互式进程(桌面应用程序、控制台程序、等带有UI和交互式体验的程序)"? 我以前有过类似的需求,是在GitLab流水线中运行带有UI的自动化测试程

【一天一点.NET小知识】运用向量Vector加速求和计算

随着 .NET 版本的演进,从 .NET Standard 2.0 版本开始,支持 Vector 类型。 从 .NET 8.0 版本开始,大量在 Runtime 提供的各个组件中运用向量计算,​特别是 Linq。 Vector 类型:表示指定数值类型(适用于并行算法的低级别优化)的单个向量。

一款.NET开源的i茅台自动预约小助手

前言 今天大姚给大家分享一款.NET开源、基于WPF实现的i茅台APP接口自动化每日自动预约(抢茅台)小助手:HyggeImaotai。 项目介绍 该项目通过接口自动化模拟i茅台APP实现每日自动预约茅台酒的功能,软件会在指定时间开始对管理的用户进行批量预约。 项目功能 用户管理 预约项目 店铺管理

[转帖]redis进程绑定指定的CPU核

文章系转载,便于分类和归纳,源文地址:https://blog.csdn.net/youlinhuanyan/article/details/99671878 1)查看某服务的pid $ ps -aux|grep redis 1)显示进程运行的CPU #命令 $ taskset -p 21184 显

[转帖]别催了,别催了,这篇文章我一次性把 Shell 的内容说完

https://my.oschina.net/jiagoushi/blog/6037198 Shell 搜索与匹配 1、在文件中查找字符串 grep 命令可以搜索文件,查找指定的字符串。 $ grep myvar *.c 在这个例子中,我们搜索的文件全都位于当前目录下。因此,我们只使用了简单的 sh