In passato spesso facevo conversioni base64 in foto, e non c'erano mai problemi. Oggi ho usato js per convertire Canvas in stringhe Base64-bit
bbb è la stringa che otteniamo, e poi la passo sullo sfondo con ajax, così;
Codice di ricezione di background:
Accidenti, la seconda frase è stata riportata in modo errato!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Elenco errori
{"L'input non è una stringa Base-64 valida poiché contiene un carattere non base 64, più di due caratteri di riempimento, o un carattere illegale tra i caratteri di riempimento. "} {"Lunghezza invalida per un array o stringa di caratteri in base 64."} Il primo errore è dovuto al fatto che nella stringa c'è data:image/jpeg; base64, liberati di questa cosa!
Questo codice risolve il primo errore!!
Il secondo errore, non so cosa ci fosse che non andava, ho lavorato per un'ora e finalmente ho visto alcune parole dal forum degli stranieri
La lunghezza di una stringa codificata in base64 è sempre un multiplo di 4. Se non è un multiplo di 4, allora si aggiungono i caratteri = finché non lo è. Una stringa di query della forma ?name=value presenta problemi quando il valore contiene = carattere (alcuni verranno eliminati, non ricordo il comportamento esatto). Potresti riuscire ad aggiungere il numero corretto di caratteri = prima di fare la decodifica base64. La traduzione è la seguente, basta dare un'occhiata approssimativa
Una stringa codificata in Base64 è un multiplo di 4 di lunghezza. Se non è un multiplo di 4, allora il carattere = viene aggiunto fino a . Una stringa di query per una tabella? name=value quando c'è un problema con value contains = features (alcune di esse si scompariranno, non ricordo il comportamento esatto). Puoi aggiungere il numero corretto = carattere prima di fare la decodifica base64. Infine, aggiungi qualche frase di codice e hai finito, il codice completo è il seguente:
|