簡體   English   中英

Base64無法轉換回映像

[英]Base64 failed to convert back to image

我試圖從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 ++ IAo8L3N0eWxlPiAKIAo8L2hlYWQ + IAo8Ym9keT4gCjxkaXYgaWQ9ImNvbnRlbnQiPiAKPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIiPiAKICA8aDM + SFRUUCBFcnJvciA0MDQuMCAtIE5vdCBGb3VuZDwvaDM + IAogIDxoND5UaGUgcmVzb3VyY2UgeW91IGFyZSBsb29raW5nIGZvciBoYXMgYmVlbiByZW1vdmVkLCBoYWQgaXRzIG5hbWUgY2hhbmdlZCwgb3IgaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuPC9oND4gCjwvZGl2PiAKPGRpdiBjbGFzcz0iY29udGVudC1jb250YWluZXIiPiAKIDxmaWVsZHNldD48aDQ + TW9zdCBsaWtlbHkgY2F1c2VzOjwvaDQ + IAogIDx1bD4gCTxsaT5UaGUgZGlyZWN0b3J5IG9yIGZpbGUgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0IG9uIHRoZSBXZWIgc2VydmVyLjwvbGk + IAk8bGk + VGhlIFVSTCBjb250YWlucyBhIHR5cG9ncmFwaGljYWwgZXJyb3IuPC9saT4gCTxsaT5BIGN1c3RvbSBmaWx0ZXIgb3IgbW9kdWxlLCBzdWNoIGFzIFVSTFNjYW4sIHJlc3Rya WN0cyBhY2Nlc3MgdG8gdGhlIGZpbGUuPC9saT4gPC91bD4gCiA8L2ZpZWxkc2V0PiAKPC9kaXY + IAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI + IAogPGZpZWxkc2V0PjxoND5UaGluZ3MgeW91IGNhbiB0cnk6PC9oND4gCiAgPHVsPiAJPGxpPkNyZWF0ZSB0aGUgY29udGVudCBvbiB0aGUgV2ViIHNlcnZlci48L2xpPiAJPGxpPlJldmlldyB0aGUgYnJvd3NlciBVUkwuPC9saT4gCTxsaT5DaGVjayB0aGUgZmFpbGVkIHJlcXVlc3QgdHJhY2luZyBsb2cgYW5kIHNlZSB3aGljaCBtb2R1bGUgaXMgY2FsbGluZyBTZXRTdGF0dXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBjbGljayA8YSBocmVmPSJodHRwOi8vZ28ubWljcm9zb2Z0LmNvbS9md2xpbmsvP0xpbmtJRD02NjQzOSI + aGVyZTwvYT4uIDwvbGk + IDwvdWw + IAogPC9maWVsZHNldD4gCjwvZGl2PiAKIAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI + IAogPGZpZWxkc2V0PjxoND5EZXRhaWxlZCBFcnJvciBJbmZvcm1hdGlvbjo8L2g0PiAKICA8ZGl2IGlkPSJkZXRhaWxzLWxlZnQiPiAKICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4gCiAgICA8dHIgY2xhc3M9ImFsdCI + PHRoPk1vZHVsZTwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO0lJUyBXZWIgQ29yZTwvdGQ + PC90cj4gCiAgICA8dHI + PHRoPk5vdGlmaWNhdGlvbjwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO01hcFJlcXVlc3RIYW5kbGVyP C90ZD48L3RyPiAKICAgIDx0ciBjbGFzcz0iYWx0Ij48dGg + SGFuZGxlcjwvdGg + PHRkPiZuYnNwOyZuYnNwOyZuYnNwO1N0YXRpY0ZpbGU8L3RkPjwvdHI + IAogICAgPHRyPjx0aD5FcnJvciBDb2RlPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7MHg4MDA3MDAwMjwvdGQ + PC90cj4gCiAgICAgCiAgIDwvdGFibGU + IAogIDwvZGl2PiAKICA8ZGl2IGlkPSJkZXRhaWxzLXJpZ2h0Ij4gCiAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI + IAogICAgPHRyIGNsYXNzPSJhbHQiPjx0aD5SZXF1ZXN0ZWQgVVJMPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7aHR0cDovL2xvY2FsaG9zdDo1MDA2NS9Vc2Vycy9Pcmdhbml6ZXIvbnVsbDwvdGQ + PC90cj4gCiAgICA8dHI + PHRoPlBoeXNpY2FsIFBhdGg8L3RoPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDtDOlxVc2Vyc1xEVllSQVxEZXNrdG9wXHJlZ2Vhc2VfcHJvalxSZWdFYXNlQmV0YXYxLjBcVXNlcnNcT3JnYW5pemVyXG51bGw8L3RkPjwvdHI + IAogICAgPHRyIGNsYXNzPSJhbHQiPjx0aD5Mb2dvbiBNZXRob2Q8L3RoPjx0ZD4mbmJzcDsmbmJzcDsmbmJzcDtBbm9ueW1vdXM8L3RkPjwvdHI + IAogICAgPHRyPjx0aD5Mb2dvbiBVc2VyPC90aD48dGQ + Jm5ic3A7Jm5ic3A7Jm5ic3A7QW5vbnltb3VzPC90ZD48L3RyPiAKICAgIDx0ciBjbGFzcz0iYWx0Ij48dGg + UmVxdWVzdCBUcmFjaW5nIERpcmVjdG9yeTwvdGg + PHRkPiZuYnNwOyZuY nNwOyZuYnNwO0M6XFVzZXJzXERWWVJBXERvY3VtZW50c1xJSVNFeHByZXNzXFRyYWNlTG9nRmlsZXNcUkVHRUFTRUJFVEFWMS4wPC90ZD48L3RyPiAKICAgPC90YWJsZT4gCiAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4gCiAgPC9kaXY + IAogPC9maWVsZHNldD4gCjwvZGl2PiAKIAo8ZGl2IGNsYXNzPSJjb250ZW50LWNvbnRhaW5lciI + IAogPGZpZWxkc2V0PjxoND5Nb3JlIEluZm9ybWF0aW9uOjwvaDQ + IAogIFRoaXMgZXJyb3IgbWVhbnMgdGhhdCB0aGUgZmlsZSBvciBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3Qgb24gdGhlIHNlcnZlci4gQ3JlYXRlIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhbmQgdHJ5IHRoZSByZXF1ZXN0IGFnYWluLiAKICA8cD48YSBocmVmPSJodHRwczovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSUQ9NjIyOTMmYW1wO0lJUzcwRXJyb3I9NDA0LDAsMHg4MDA3MDAwMiwxNzEzNCI + VmlldyBtb3JlIGluZm9ybWF0aW9uICZyYXF1bzs8L2E + PC9wPiAKICAgCiA8L2ZpZWxkc2V0PiAKPC9kaXY + IAo8L2Rpdj4gCjwvYm9keT4gCjwvaHRtbD4gCg ==

我真的沒有意識到我要轉換一個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);

在HTML中為圖片標記src="data:image/jpeg;base64,HERE_IS_YOUR_BASE64STRING"設置正確的來源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM