Früher habe ich oft Base64-Konvertierungen zu Bildern gemacht, und es gab nie Probleme. Heute habe ich mit js Canvas in Base64-Bit-Strings umgewandelt
BBB ist der String, den wir bekommen, und dann gebe ich ihn mit Ajax in den Hintergrund weiter, so:
Hintergrund-Empfangscode:
Verdammt, der zweite Satz wurde falsch angegeben!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fehlerliste
{"Die Eingabe ist kein gültiger Base-64-String, da sie ein Nicht-Basis-64-Zeichen, mehr als zwei Füllzeichen oder ein illegales Zeichen unter den Füllzeichen enthält. "} {"Ungültige Länge für ein Base-64-Char-Array oder eine Zeichenkette."} Der erste Fehler ist, dass es data:image/jpeg in der Zeichenkette gibt; base64, entferne das Ding einfach!
Dieser Code behebt den ersten Fehler!!
Der zweite Fehler, ich weiß nicht, was los war, ich habe eine Stunde gearbeitet und schließlich ein paar Worte aus dem Ausländerforum gesehen
Die Länge eines base64-codierten Strings ist immer ein Vielfaches von 4. Wenn es kein Vielfaches von 4 ist, dann werden = Zeichen angehängt, bis sie es sind. Eine Abfragefolge der Form ?name=value hat Probleme, wenn der Wert = Zeichen enthält (einige davon werden weggelassen, ich erinnere mich nicht mehr an das genaue Verhalten). Du kannst vielleicht die richtige Anzahl von = Zeichen hinzufügen, bevor du die base64-Dekodierung machst. Die Übersetzung lautet wie folgt, schauen Sie sich das ungefähr an
Eine Base64-kodierte Zeichenkette ist ein Vielfaches von 4 Zoll lang. Wenn es kein Vielfaches von 4 ist, wird das =-Zeichen hinzugefügt, bis . Eine Abfragefolge für eine Tabelle? name=value, wenn es ein Problem mit value contains = Features gibt (einige davon gehen runter, ich erinnere mich nicht mehr genau an das Verhalten). Du kannst die korrekte Zahl = Zeichen hinzufügen, bevor du base64-Dekodierung machst. Fügen Sie schließlich ein paar Codesätze hinzu, und Sie sind fertig, der vollständige Code ist wie folgt:
|