前端上传文件前预览,.net将base64位转换为图片并保存到本地

前端上传文件前预览

<img src="" id="img-change" width="200px" height="200px" id="filePath" name="filePath">
<input type="file" id="file" style="display:none;" onchange="filechange(event)" class="btn btn-secondary radius">

<script>
$("#img-change").click(function () {
    $("#file").click();
})

var filechange = function (event) {
    var files = event.target.files, file;
    if (files && files.length > 0) {
        // 获取目前上传的文件
        file = files[0];// 文件大小校验的动作
        if (file.size > 1024 * 1024 * 2) {
            alert('图片大小不能超过 2MB!');
            return false;
        }
        r = new FileReader();  //本地预览
        r.onload = function () {
            $(".img-change").attr("src", r.result);
        }
        r.readAsDataURL(file);    //Base64格式显示预览图片
    }
};

console.log($("#filePath")[0].src) //获取图片src
</script>

.net 将base64位转换为图片并保存到本地

/// <summary>
/// Base64
/// </summary>
public class Base64Helper
{
    /// <summary>
    /// 接收Base64编码格式的图片
    /// </summary>
    /// <param name="file">base64文件</param>
    /// <param name="path">保存地址</param>
    public static string Upload(string file,string path)
    {
        var suffixText = file.Split(',')[0];

        var baseText = file.Split(',')[1];

        //获取文件储存路径
        string basePath = AppDomain.CurrentDomain.BaseDirectory; //获取当前项目所在目录
        string suffix = ""; //文件的后缀名根据实际情况
        if(suffixText.Contains("jpeg")) suffix = ".jpg";
        else if (suffixText.Contains("png")) suffix = ".png";
        else if (suffixText.Contains("gif")) suffix = ".gif";

        string strPath = basePath + path + suffix;

        //获取图片并保存
        Base64ToImg(baseText).Save(strPath);

        return path + suffix; // 返回图片地址
    }

    //解析base64编码获取图片
    private static Bitmap Base64ToImg(string base64Code)
    {
        MemoryStream stream = new MemoryStream(Convert.FromBase64String(base64Code));
        return new Bitmap(stream);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_31267183/article/details/83893897