base64字符串在web前端显示

       最近进行中的某一个项目要求把图片保存成base64存到数据库,以前做web项目一般是保存到文件服务器或者当前服务器的一个目录,我想了想保存成base64位到数据库有什么好处?防止别人运用工具爬取到你服务器上面的图片?

说到这里我先分享下我保存的代码。

[HttpPost]
        public async Task UpLoadImg()
        {
            var date = Request;
            var files = Request.Form.Files;
            long size = files.Sum(f => f.Length);
            string webRootPath = _webHostEnvironment.WebRootPath;

            string newFileName = "";
            String base64 = "";
            foreach (var formFile in files)
            {
                if (formFile.Length > 0)
                {

                    string fileExt = System.IO.Path.GetExtension(formFile.FileName); //文件扩展名,不含“.”
                    long fileSize = formFile.Length; //获得文件大小,以字节为单位
                    if (fileSize > 50 * 1024)
                    {

                    }
                    else
                    {

                    }
                    newFileName = System.Guid.NewGuid().ToString()  + fileExt; //随机生成新的文件名
                    var filePath = webRootPath + "\\upload\\" + newFileName;
                    
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {

                        await formFile.CopyToAsync(stream);
                        
                    }
                    base64 = Base64Helper.ImageToBase64(filePath);
                    long id = 186063175114821632;
                    
                    TData obj = await staffBLL.GetEntity(id);
                    StaffEntity entity = obj.Result;
                    entity.FaceImage = base64;
                    TData obj2 = await staffBLL.SaveForm(entity);

                }
            }
            return Json(new { code = 0,msg="上传成功", data =new { src= "data:image/gif;base64," + base64 } });

        }

 显示图片的例子为了方便大家看 我自己用新页面拆解出来了显示base64编码图片的办法

@{
    ViewData["Title"] = "ImageShow";
}






 

你可能感兴趣的:(Asp.Net,MVC)