Пример #1
0
        /// <summary>
        /// 保存base64文件
        /// </summary>
        /// <param name="base64"></param>
        /// <param name="dir">目录信息</param>
        /// <returns></returns>
        protected TempFileInfo SaveBase64Image(string base64, IDir dir)
        {
            if (base64.IsNullOrEmpty())
            {
                return(new TempFileInfo());
            }
            Span <byte> span = new Span <byte>(new byte[base64.Length]);
            int         outLen;

            if (!Convert.TryFromBase64String(base64, span, out outLen))
            {
                return(new TempFileInfo());
            }
            using var memStream = new MemoryStream(span.ToArray());
            using var bitmap    = new Bitmap(memStream);
            var      fileName = $"{Guid.NewGuid()}.jpg";
            FileInfo fileInfo = new FileInfo(dir.GetUpFilePathWithSystem(fileName));

            using var fileStream = fileInfo.Create();
            bitmap.Save(fileStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            return(new TempFileInfo
            {
                ServerDirPath = dir.GetDownFileDir(),
                ServerFileName = fileName
            });
        }