W przeszłości często konwertowałem base64 na zdjęcia i nigdy nie było problemów. Dziś użyłem js do konwersji Canvas na stringi Base64-bit
bbb to struna, którą dostajemy, a potem przekazuję ją do tła za pomocą ajaxu, tak jak to;
Kod odbierania w tle:
Cholera, drugie zdanie zostało źle podane!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Lista błędów
{"Wejście nie jest ważnym ciągiem Base-64, ponieważ zawiera znak niebędący podstawą 64, więcej niż dwa znaki dopełniające lub nielegalny znak wśród znaków dopełniających. "} {"Nieprawidłowa długość dla tablicy lub ciągu znaków o wartości Base-64."} Pierwszy błąd wynika z faktu, że w ciągu znajduje się data:image/jpeg; Base64, po prostu pozbądź się tego!
Ten kod rozwiązuje pierwszy błąd!!
Drugi błąd, nie wiem, co było nie tak, pracowałem godzinę i w końcu zobaczyłem kilka słów z forum obcokrajowców
Długość ciągu zakodowanego w bazie 64 jest zawsze wielokrotnością 4. Jeśli nie jest wielokrotnością 4, to = znaki są dodawane, aż do momentu, gdy jest dołączone. Ciąg zapytania o postaci ?name=value ma problemy, gdy zawiera = characteraters (niektóre z nich zostaną usunięte, nie pamiętam dokładnego zachowania). Możesz udać się dodać odpowiednią liczbę znaków = przed dekodowaniem base64. Tłumaczenie wygląda następująco, wystarczy spojrzeć na nie mniej więcej
Struna zakodowana w Base64 to wielokrotność 4 cali długości. Jeśli nie jest to wielokrotność 4, znak = jest dodawany do . Ciąg zapytań do tabeli? imię=wartość gdy pojawia się problem z wartością zawiera = cechy (niektóre z nich przestają się zmieniać, nie pamiętam dokładnego zachowania). Możesz dodać poprawną liczbę = znak przed dekodowaniem base64. Na koniec dodaj kilka zdań kodu i gotowe, pełny kod wygląda następująco:
|