分类:
.NET Core
通用的图片上传工具类,直接上代码吧 图片转Base64可以看看剑哥 借鉴了剑哥的一些思路 https://www.tnblog.net/aojiancc2/article/details/2622 /// <summary> /// 将base64转成图片 /// </summary> /// <param name="Strbase64">base64数据</param> /// <param name="Fileurl">文件存放路径存(/UploadFiles/模块)</param> /// <param name="FileSuffix">图片后缀(不存在则取base64类型后缀,如果base64头部不存在data:image/jpg(类型)返回空)</param> /// <param name="Bol">是否默认盘(Fileurl否必填盘)</param> /// <param name="GuridFileName">图片名称(默认GUID生成)</param> /// <returns></returns> /// D:\Code\WebManagers\Web\Ayhl\API\VideoManageApi\UploadFiles\ public static string SaveImage(string Strbase64, string Fileurl, string FileSuffix, bool Bol = false, string GuridFileName = "") { try { if (GuridFileName == null || string.IsNullOrEmpty(GuridFileName)) { //使用GUID创建文件名称 GuridFileName = Guid.NewGuid().ToString().Replace("-", ""); //防止Guid重复加上时间秒 GuridFileName += DateTime.Now.Second; } //时间生成每日文件夹 string FileName = DateTime.Now.ToString("yyyy-MM-dd"); if (FileSuffix == null || string.IsNullOrEmpty(FileSuffix)) { if (Strbase64 != null && !string.IsNullOrEmpty(Strbase64)) { var bte = Strbase64.Split("base64"); if (bte.Length > 1) { try { FileSuffix = bte[0].Split('/')[1].Replace(";", ""); } catch (Exception ex) { return ""; } } else { return ""; } } else { return ""; } } //if (Fileurl == null || string.IsNullOrEmpty(Fileurl)) //{ // Fileurl = $"//UploadFiles//VideoImages//{FileName}//{GuridFileName}.{FileSuffix}"; //} if (Fileurl != null && !string.IsNullOrEmpty(Fileurl)) { if (Fileurl.Split('.').Length < 2) { Fileurl += "//" + FileName + "//" + GuridFileName + "." + FileSuffix; } } string path = ""; //是默认工作盘 if (Bol) { //获取应用程序的当前工作目录。 Directory.GetCurrentDirectory() path = Directory.GetCurrentDirectory() + Fileurl; } //返回指定路径字符串的目录信息。Path.GetDirectoryName string filepath = Path.GetDirectoryName(path); // 如果不存在就创建file文件夹 if (!Directory.Exists(filepath)) { if (filepath != null) Directory.CreateDirectory(filepath); } //使用正则表达式把所有类型的图片去掉前缀 string base64img = Regex.Replace(Strbase64, "data:image/.*;base64,", ""); byte[] photoBytes = Convert.FromBase64String(base64img); //创建一个新文件,将指定的字节数组写入该文件,然后关闭文件。如果目标文件已存在,则将覆盖它。 File.WriteAllBytes(path, photoBytes); return Fileurl; } catch (Exception ex) { return ""; } } 有疑问留言哦
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术