You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Swagger返回的代表图片byte array的字符串转为字节数组存入数据库

实现方法

你在Swagger中看到的长字母数字混合串是Base64编码字符串,Web框架在把byte[]类型字段序列化到JSON响应时,默认会采用Base64格式做传输转换,你只需要对该字符串做Base64解码就能得到存库需要的字节数组。

基础实现代码

直接调用.NET内置的Base64解码方法即可实现你要的效果:

// 替换引号内的内容为你从Swagger接口拿到的字符串
Product pp = new Product()
{
    Image = Convert.FromBase64String("swaggger返回的长字符串")
};

特殊情况处理

如果拿到的字符串带有data:image/png;base64,这类图片DataURL前缀,需要先裁剪掉前缀再做解码,否则会抛出格式错误异常,处理逻辑如下:

string rawSwaggerStr = "你从Swagger拿到的原始字符串";
// 判断是否带DataURL前缀,有则裁剪
if (rawSwaggerStr.StartsWith("data:image"))
{
    rawSwaggerStr = rawSwaggerStr.Split(',')[1];
}
byte[] imageBytes = Convert.FromBase64String(rawSwaggerStr);
Product pp = new Product(){ Image = imageBytes };

校验建议

你可以把解码得到的字节数组临时写入本地文件,确认可以正常打开为对应图片后,再执行数据库播种操作,避免插入无效数据。

内容的提问来源于stack exchange,提问作者sasko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:00:05