保存BASE64编码图片

1.前端上传用户图片时,一些K数较小图片,头像图标等 .以bass64编码后的字符串传到服务器.

2.服务器接收并保留到本地.

// 页面上点击保存

$.post('/imgupload/save',{base64:"data:image/jpeg;base64,编码略...."},function(data){

  console.info(data);

})

 

/*WEB API收到数据*/

string imgbase64str=Request.Form.Get("base64");

// 检查一下

System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match

                       (imgbase64str, "^data:image/(?<imgfmt>jpeg|png|gif);base64,");

// 不成功不处理
if (!m.Success)
return false;

// 取得格式(jpeg/png/gif)

string imgfmt = m.Groups["imgfmt"].Value;

// 前缀要去掉
base64str = base64str.Replace(m.Groups[0].Value, "");

// 用Convert类的方法转成字节
byte[] imgbytes = Convert.FromBase64String(base64str);

// 生成文件名,再存到文件

string filename=String.Format("{0}.{1}",DateTime.Now.ToString("yyyyMMddHHmmss")+DateTime.Now.Millisecond.ToString(),imgfmt );

string fullname="本地路径"+filename;

FileStream fs = new FileStream(fullname, FileMode.Create);
fs.Write(imgbytes, 0, imgbytes.Length);
fs.Close();

// 返回一个地址

http://路径/filename;

posted @   mirrorspace  阅读(1289)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示