Tidligere gjorde jeg ofte base64-konvertering til bilder, og det var aldri noe problem. I dag brukte jeg js for å konvertere Canvas til Base64-bits strenger
BBB er strengen vi får, og så sender jeg den til bakgrunnen med ajax, slik:
Bakgrunnsmottakskode:
Faen, den andre setningen ble rapportert feil!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Feilliste
{"Inndata er ikke en gyldig base-64-streng da den inneholder et ikke-base 64-tegn, mer enn to utfyllingstegn, eller et ulovlig tegn blant utfyllingstegnene. "} {"Ugyldig lengde for et Base-64 char-array eller -streng."} Den første feilen skyldes at det finnes data:image/jpeg i strengen; base64, bare bli kvitt denne tingen!
Denne koden løser den første feilen!!
Den andre feilen, jeg vet ikke hva som var galt, jeg jobbet i en time, og så endelig noen ord fra utlendingsforumet
Lengden på en base64-kodet streng er alltid et multiplum av 4. Hvis det ikke er et multiplum av 4, så legges = tegn til det er det. En spørringsstreng av formen ?name=verdi har problemer når verdien inneholder = karakterer (noen av dem blir droppet, jeg husker ikke nøyaktig oppførsel). Du kan kanskje slippe unna med å legge til riktig antall = tegn før du gjør base64-dekodingen. Oversettelsen er som følger, bare se på den omtrent
En Base64-kodet streng er et multiplum av 4 i lengde. Hvis det ikke er et multiplum av 4, legges =-tegnet til til. En spørringsstreng for en tabell? name=value når det er et problem med value contains = features (noen av dem vil gå ned, jeg husker ikke nøyaktig oppførsel). Du kan legge til riktig tall = tegn før du gjør base64-dekoding. Til slutt, legg til noen setninger med kode, og du er ferdig, den komplette koden er som følger:
|