Base64无法转换回图像

时间:2018-10-18 02:47:47

标签: c# asp.net ajax base64 webmethod

我试图从ajax帖子转换成Base64字符串, 并且该请求似乎运行良好-获得成功的回报。

但是当我尝试将其转换回图像时,出现此错误:

mscorlib.dll中发生了'System.FormatException'类型的异常,但未在用户代码中处理

其他信息:输入不是有效的Base-64字符串,因为它包含非base 64字符,两个以上的填充字符或填充字符中的非法字符。

[WebMethod(EnableSession = true)]
public static string insertFile(string base64File)
{


    string path = HttpContext.Current.Server.MapPath("~/Users/Organizer/organizersData/"); // de path


    //Check if directory exist
    if (!Directory.Exists(path))
    {
        Directory.CreateDirectory(path); //Create directory if it doesn't exist
    }


    string imageName = "event1" + ".jpg";// for instance 

    //set the image path 
    string imgPath = Path.Combine(path, imageName);
    string convert = base64File.Replace("data:image/png;base64,", String.Empty).Replace("data:image/jpg;base64,", String.Empty).Replace("data:image/bmp;base64,", string.Empty); ;

    string converted = convert.Replace('-', '+');
    converted = converted.Replace('_', '/');

    byte[] imageBytes = Convert.FromBase64String(converted);

    File.WriteAllBytes(imgPath, imageBytes); //write the file in the directory 



    return "success";


}

这是base64字符串。

  

数据:text / html的; BASE64,PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPiAKPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPiAKPGhlYWQ + IAo8dGl0bGU + SUlTIDEwLjAgRGV0YWlsZWQgRXJyb3IgLSA0MDQuMCAtIE5vdCBGb3VuZDwvdGl0bGU + IAo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKPCEtLSAKYm9keXttYXJnaW46MDtmb250LXNpemU6LjdlbTtmb250LWZhbWlseTpWZXJkYW5hLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO30gCmNvZGV7bWFyZ2luOjA7Y29sb3I6IzAwNjYwMDtmb250LXNpemU6MS4xZW07Zm9udC13ZWlnaHQ6Ym9sZDt9IAouY29uZmlnX3NvdXJjZSBjb2Rle2ZvbnQtc2l6ZTouOGVtO2NvbG9yOiMwMDAwMDA7fSAKcHJle21hcmdpbjowO2ZvbnQtc2l6ZToxLjRlbTt3b3JkLXdyYXA6YnJlYWstd29yZDt9IAp1bCxvbHttYXJnaW46MTBweCAwIDEwcHggNXB4O30gCnVsLmZpcnN0LG9sLmZpcnN0e21hcmdpbi10b3A6NXB4O30gCmZpZWxkc2V0e3BhZGRpbmc6MCAxNXB4IDEwcHggMTVweDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt9IAouc3VtbWFyeS1jb250YWluZXIgZmllbGRzZXR7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi10b3A6NHB4O30gCmxlZ2VuZC5uby1leHBhbmQtYWxse3B​​hZGRpbmc6MnB4IDE1cHg gNHB4IDEwcHg7bWFyZ2luOjAgMCAwIC0xMnB4O30gCmxlZ2VuZHtjb2xvcjojMzMzMzMzOzttYXJnaW46NHB4IDAgOHB4IC0xMnB4O19tYXJnaW4tdG9wOjBweDsgCmZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjFlbTt9IAphOmxpbmssYTp2aXNpdGVke2NvbG9yOiMwMDdFRkY7Zm9udC13ZWlnaHQ6Ym9sZDt9IAphOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO30gCmgxe2ZvbnQtc2l6ZToyLjRlbTttYXJnaW46MDtjb2xvcjojRkZGO30gCmgye2ZvbnQtc2l6ZToxLjdlbTttYXJnaW46MDtjb2xvcjojQ0MwMDAwO30gCmgze2ZvbnQtc2l6ZToxLjRlbTttYXJnaW46MTBweCAwIDAgMDtjb2xvcjojQ0MwMDAwO30gCmg0e2ZvbnQtc2l6ZToxLjJlbTttYXJnaW46MTBweCAwIDVweCAwOyAKfSNoZWFkZXJ7d2lkdGg6OTYlO21hcmdpbjowIDAgMCAwO3BhZGRpbmc6NnB4IDIlIDZweCAyJTtmb250LWZhbWlseToidHJlYnVjaGV0IE1TIixWZXJkYW5hLHNhbnMtc2VyaWY7IAogY29sb3I6I0ZGRjtiYWNrZ3JvdW5kLWNvbG9yOiM1Qzg3QjI7IAp9I2NvbnRlbnR7bWFyZ2luOjAgMCAwIDIlO3Bvc2l0aW9uOnJlbGF0aXZlO30gCi5zdW1tYXJ5LWNvbnRhaW5lciwuY29udGVudC1jb250YWluZXJ7YmFja2dyb3VuZDojRkZGO3dpZHRoOjk2JTttYXJnaW4tdG9wOjhweDtwYWRkaW5nOjEwcHg7cG9zaXRpb246cmVsYXRpdmU7fSAKLmNvbnRlbnQtY29udGFpbmVyIHB7bWFyZ2luOjAgMCAxMHB4IDA7IAp9I2RldGFpbHMtbGV mdHt3aWR0aDozNSU7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MiU7IAp9I2RldGFpbHMtcmlnaHR7d2lkdGg6NjMlO2Zsb2F0OmxlZnQ7b3ZlcmZsb3c6aGlkZGVuOyAKfSNzZXJ2ZXJfdmVyc2lvbnt3aWR0aDo5NiU7X2hlaWdodDoxcHg7bWluLWhlaWdodDoxcHg7bWFyZ2luOjAgMCA1cHggMDtwYWRkaW5nOjExcHggMiUgOHB4IDIlO2NvbG9yOiNGRkZGRkY7IAogYmFja2dyb3VuZC1jb2xvcjojNUE3RkE1O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNDMUNGREQ7Ym9yZGVyLXRvcDoxcHggc29saWQgIzRBNkM4RTtmb250LXdlaWdodDpub3JtYWw7IAogZm9udC1zaXplOjFlbTtjb2xvcjojRkZGO3RleHQtYWxpZ246cmlnaHQ7IAp9I3NlcnZlcl92ZXJzaW9uIHB7bWFyZ2luOjVweCAwO30gCnRhYmxle21hcmdpbjo0cHggMCA0cHggMDt3aWR0aDoxMDAlO2JvcmRlcjpub25lO30gCnRkLHRoe3ZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOjNweCAwO3RleHQtYWxpZ246bGVmdDtmb250LXdlaWdodDpub3JtYWw7Ym9yZGVyOm5vbmU7fSAKdGh7d2lkdGg6MzAlO3RleHQtYWxpZ246cmlnaHQ7cGFkZGluZy1yaWdodDoyJTtmb250LXdlaWdodDpib2xkO30gCnRoZWFkIHRoe2JhY2tncm91bmQtY29sb3I6I2ViZWJlYjt3aWR0aDoyNSU7IAp9I2RldGFpbHMtcmlnaHQgdGh7d2lkdGg6MjAlO30gCnRhYmxlIHRyLmFsdCB0ZCx0YWJsZSB0ci5hbHQgdGh7fSAKLmhpZ2hsaWdodC1jb2Rle2NvbG9yOiNDQzAwMDA7Zm9udC1 3ZWlnaHQ6Ym9sZDtmb250LXN0eWxlOml0YWxpYzt9IAouY2xlYXJ7Y2xlYXI6Ym90aDt9IAoucHJlZmVycmVke3BhZGRpbmc6MCA1cHggMnB4IDVweDtmb250LXdlaWdodDpub3JtYWw7YmFja2dyb3VuZDojMDA2NjMzO2NvbG9yOiNGRkY7Zm9udC1zaXplOi44ZW07fSAKLS0 + IAo8L3N0eWxlPiAKIAo8L2hlYWQ + IAo8Ym9keT4gCjxkaXYgaWQ9ImNvbnRlbnQiPiAKPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIiPiAKICA8aDM + SFRUUCBFcnJvciA0MDQuMCAtIE5vdCBGb3VuZDwvaDM + IAogIDxoND5UaGUgcmVzb3VyY2UgeW91IGFyZSBsb29raW5nIGZvciBoYXMgYmVlbiByZW1vdmVkLCBoYWQgaXRzIG5hbWUgY2hhbmdlZCwgb3IgaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuPC9oND4gCjwvZGl2PiAKPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIiPiAKIDxmaWVsZHNldD48aDQ + TW9zdCBsaWtlbHkgY2F1c2VzOjwvaDQ + IAogIDx1bD4gCTxsaT5UaGUgZGlyZWN0b3J5IG9yIGZpbGUgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0IG9uIHRoZSBXZWIgc2VydmVyLjwvbGk + IAk8bGk + VGhlIFVSTCBjb250YWlucyBhIHR5cG9ncmFwaGljYWwgZXJyb3IuPC9saT4gCTxsaT5BIGN1c3RvbSBmaWx0ZXIgb3IgbW9kdWxlLCBzdWNoIGFzIFVSTFNjYW4sIHJlc3RyaWN0cyBhY2Nlc3MgdG8gdGhlIGZpbGUuPC9saT4gPC91bD4gCiA8L2ZpZWxkc2V0PiAKPC9kaXY + IAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnR haW5lciI + IAogPGZpZWxkc2V0PjxoND5UaGluZ3MgeW91IGNhbiB0cnk6PC9oND4gCiAgPHVsPiAJPGxpPkNyZWF0ZSB0aGUgY29udGVudCBvbiB0aGUgV2ViIHNlcnZlci48L2xpPiAJPGxpPlJldmlldyB0aGUgYnJvd3NlciBVUkwuPC9saT4gCTxsaT5DaGVjayB0aGUgZmFpbGVkIHJlcXVlc3QgdHJhY2luZyBsb2cgYW5kIHNlZSB3aGljaCBtb2R1bGUgaXMgY2FsbGluZyBTZXRTdGF0dXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBjbGljayA8YSBocmVmPSJodHRwOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvP0xpbmtJRD02NjQzOSI + aGVyZTwvYT4uIDwvbGk + IDwvdWw + IAogPC9maWVsZHNldD4gCjwvZGl2PiAKIAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI + IAogPGZpZWxkc2V0PjxoND5EZXRhaWxlZCBFcnJvciBJbmZvcm1hdGlvbjo8L2g0PiAKICA8ZGl2IGlkPSJkZXRhaWxzLWxlZnQiPiAKICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4gCiAgICA8dHIgY2xhc3M9ImFsdCI + PHRoPk1vZHVsZTwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO0lJUyBXZWIgQ29yZTwvdGQ + PC90cj4gCiAgICA8dHI + PHRoPk5vdGlmaWNhdGlvbjwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO01hcFJlcXVlc3RIYW5kbGVyPC90ZD48L3RyPiAKICAgIDx0ciBjbGFzcz0iYWx0Ij48dGg + SGFuZGxlcjwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO1N0YXRpY0ZpbGU8L3R kPjwvdHI + IAogICAgPHRyPjx0aD5FcnJvciBDb2RlPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7MHg4MDA3MDAwMjwvdGQ + PC90cj4gCiAgICAgCiAgIDwvdGFibGU + IAogIDwvZGl2PiAKICA8ZGl2IGlkPSJkZXRhaWxzLXJpZ2h0Ij4gCiAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI + IAogICAgPHRyIGNsYXNzPSJhbHQiPjx0aD5SZXF1ZXN0ZWQgVVJMPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7aHR0cDovL2xvY2FsaG9zdDo1MDA2NS9Vc2Vycy9Pcmdhbml6ZXIvbnVsbDwvdGQ + PC90cj4gCiAgICA8dHI + PHRoPlBoeXNpY2FsIFBhdGg8L3RoPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDtDOlxVc2Vyc1xEVllSQVxEZXNrdG9wXHJlZ2Vhc2VfcHJvalxSZWdFYXNlQmV0YXYxLjBcVXNlcnNcT3JnYW5pemVyXG51bGw8L3RkPjwvdHI + IAogICAgPHRyIGNsYXNzPSJhbHQiPjx0aD5Mb2dvbiBNZXRob2Q8L3RoPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDtBbm9ueW1vdXM8L3RkPjwvdHI + IAogICAgPHRyPjx0aD5Mb2dvbiBVc2VyPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7QW5vbnltb3VzPC90ZD48L3RyPiAKICAgIDx0ciBjbGFzcz0iYWx0Ij48dGg + UmVxdWVzdCBUcmFjaW5nIERpcmVjdG9yeTwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO0M6XFVzZXJzXERWWVJBXERvY3VtZW50c1xJSVNFeHByZXNzXFRyYWNlTG9nRmlsZXNcUkVHRUFTRUJFVEFWMS4wPC90ZD48L3R yPiAKICAgPC90YWJsZT4gCiAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4gCiAgPC9kaXY + IAogPC9maWVsZHNldD4gCjwvZGl2PiAKIAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI + IAogPGZpZWxkc2V0PjxoND5Nb3JlIEluZm9ybWF0aW9uOjwvaDQ + IAogIFRoaXMgZXJyb3IgbWVhbnMgdGhhdCB0aGUgZmlsZSBvciBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3Qgb24gdGhlIHNlcnZlci4gQ3JlYXRlIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhbmQgdHJ5IHRoZSByZXF1ZXN0IGFnYWluLiAKICA8cD48YSBocmVmPSJodHRwczovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSUQ9NjIyOTMmYW1wO0lJUzcwRXJyb3I9NDA0LDAsMHg4MDA3MDAwMiwxNzEzNCI + VmlldyBtb3JlIGluZm9ybWF0aW9uICZyYXF1bzs8L2E + PC9wPiAKICAgCiA8L2ZpZWxkc2V0PiAKPC9kaXY + IAo8L2Rpdj4gCjwvYm9keT4gCjwvaHRtbD4gCg ==

2 个答案:

答案 0 :(得分:0)

我真的不知道我要转换html:D 感谢@john和@Access Denied指出错误。.
非常感谢您的帮助:)

这是我用于转换图像的js脚本。

function readFile() {

    if (this.files && this.files[0]) {

        var FR = new FileReader();

        FR.addEventListener("load", function (e) {
            sessionStorage.setItem("imagebase64", e.target.result);
        });

        FR.readAsDataURL(this.files[0]);
    }

}

document.getElementById("test").addEventListener("change", readFile);

答案 1 :(得分:0)

在HTML中为图片标签设置正确的来源 src="data:image/jpeg;base64,HERE_IS_YOUR_BASE64STRING"

相关问题