Tidigare gjorde jag ofta base64-konvertering till bilder, och det var aldrig några problem. Idag använde jag js för att konvertera Canvas till Base64-bitars strängar
BBB är strängen vi får, och sedan skickar jag den till bakgrunden med ajax, så här;
Bakgrundskod:
Fan, den andra meningen rapporterades felaktigt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fellista
{"Inmatningen är inte en giltig Base-64-sträng eftersom den innehåller ett icke-bas 64-tecken, fler än två utfyllnadstecken eller ett olagligt tecken bland utfyllningstecknen. "} {"Ogiltig längd för en Base-64 char-array eller sträng."} Det första felet beror på att det finns data:image/jpeg i strängen; base64, bara bli av med den här saken!
Den här koden löser det första felet!!
Det andra misstaget, jag vet inte vad som var fel, jag jobbade i en timme och såg äntligen några ord från utlänningsforumet
Längden på en base64-kodad sträng är alltid en multipel av 4. Om det inte är en multipel av 4, så läggs = tecken till tills det är det. En frågesträng av formen ?name=value har problem när värdet innehåller = tecken (några av dem tas bort, jag minns inte exakt hur det ser ut). Du kan kanske komma undan med att lägga till rätt antal = tecken innan du gör base64-avkodningen. Översättningen är som följer, titta bara på den ungefär
En Base64-kodad sträng är en multipel av 4 i längd. Om det inte är en multipel av 4, så läggs =-tecknet till tills . En frågesträng för en tabell? name=value när det uppstår problem med value contains = features (vissa av dem kommer att minska, jag minns inte exakt hur det ser ut). Du kan lägga till rätt tal = tecken innan du gör base64-avkodning. Slutligen, lägg till några meningar kod, och du är klar, den kompletta koden är följande:
|