剑轩

.net base64上传图片

发表于:2019/8/28 23:24


前台

<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) {
            alert("传递成功!");
        });
    }
}


后台:

public ActionResult UpLoadFile()
{
    string base64 = Request.Form["filecontent"];
    //base64需要把前面的申明去掉
    string newbase = base64.Replace("data:image/jpeg;base64", "");
    base64TOImg(newbase);
    return View();
}

存储:

private void base64TOImg(String base64str)
{
    Byte[] streamByte = Convert.FromBase64String(base64str);
    System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);

    string filename = Server.MapPath("~/upload/" + Guid.NewGuid().ToString().Replace("-", "") + ".jpg");
    try
    {
        byte[] buffer = Convert.FromBase64String(base64str);
        FileStream fs = new FileStream(filename, FileMode.CreateNew);
        fs.Write(buffer, 0, buffer.Length);
        fs.Close();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}



关于TNBLOG
TNBLOG,技术分享
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢