tnblog
首页
登录

net core base64上传图片

192人阅读 2019/8/30 11:53 评论:0 手机 收藏 关注
分类: .NET Core

前台

html:

<div>
    <input type="file" onchange="selectImage(this.files)" accept="">
</div>

js:

function selectImage(files) {
    let reader = new FileReader();
    let file = files[0];
    reader.readAsDataURL(file);
    reader.onload = function () {
        $.post('/Home/UpLoadFile', { filecontent: reader.result }, function (result) {
        });
    }
}


后端

base64转化的工具类:

public class Base64Convert
    {
        /// <summary>
        /// 文件转换成Base64字符串
        /// </summary>
        /// <param name="fileName">文件绝对路径</param>
        /// <returns></returns>
        public static String FileToBase64(string fileName)
        {
            string strRet = null;

            try
            {
                FileStream fs = new FileStream(fileName, FileMode.Open);
                byte[] bt = new byte[fs.Length];
                fs.Read(bt, 0, bt.Length);
                strRet = Convert.ToBase64String(bt);
                fs.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return strRet;
        }

        /// <summary>
        /// Base64字符串转换成文件
        /// </summary>
        /// <param name="strInput">base64字符串</param>
        /// <param name="fileName">保存文件的绝对路径</param>
        /// <returns></returns>
        public static bool Base64ToFileAndSave(string strInput, string fileName)
        {
            bool bTrue = false;

            try
            {
                byte[] buffer = Convert.FromBase64String(strInput);
                FileStream fs = new FileStream(fileName, FileMode.CreateNew);
                fs.Write(buffer, 0, buffer.Length);
                fs.Close();
                bTrue = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return bTrue;
        }
    }

提交的控制器:

public IActionResult UpLoadFile()
{
    string base64 = Request.Form["filecontent"];
    //base64需要把前面的申明去掉
    string newbase = base64.Replace("data:image/jpeg;base64,", "");
    //把图片存储到c盘,具体操作的时候位置可以自行改变
    Base64Convert.Base64ToFileAndSave(newbase, "c://timg.jpg");

    return View();
}





评价
很多事不是看到了希望才去努力,而是努力了才能看到希望
文章
6
粉丝
16
评论
8
分类
16
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}