Heim  >  Fragen und Antworten  >  Hauptteil

Bildspeicherung – PHP MySQL speichert Base64-Bilder

Im HTML5-Canvas habe ich ein Drittanbieter-Steuerelement zum Erstellen von Emoticon-Paketen verwendet und möchte nun das fertige Emoticon-Paket in die MySQL-Datenbank hochladen. Egal, ob Sie es auf einen lokalen Server hochladen und dann die Dateiadresse in der Datenbank speichern oder es in Blob-Form verwenden, Sie können es tun. Bitte sagen Sie mir, wie es geht. Ich verwende „canvas.todataurl“, um das Bild in die Base64-Kodierung zu konvertieren, verwende dann Ajax, um die Kodierung an die gespeicherte Seite zu senden, und verwende $_POST[„image“], um die Base64-Kodierung zu erhalten. Ich möchte die Base64-Kodierung nicht direkt in die Datenbank eingeben, da sie zu groß ist, aber ich weiß nicht, wie ich PHP verwenden kann, um die BASE64-Kodierung des Bildes in ein BLOB umzuwandeln und dann das Bild direkt in die Datenbank hochladen? Aber ich erinnere mich, dass file_get_content nur lokal und nicht auf dem Server verfügbar zu sein scheint. Das Folgende ist der Base64-Codierungscode, den ich derzeit verwende, um das Bild zu erhalten

$data = $_POST["image"];
$data = str_replace('data:image/png;base64,', '', $data);
$data = str_replace(' ','+',$ Daten);

$data = base64_decode($data);

Egal welche Methode Sie verwenden, solange Sie das Base64-codierte Bild in die Datenbank eingeben können

ringa_leeringa_lee2682 Tage vor905

Antworte allen(4)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:09:42

    文件一般都是存地址的吧,解码保存为文件,数据库存文件路径不行吗

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:09:42

    一般都是先本地生成,直接存地址。

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:09:42

    file_get_contents()可以用吧,我都是用这个的

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-19 10:09:42

    一般来说会把文件上传到七牛,拿到一个网络路径,保存该路径到数据库就好了

    Antwort
    0
  • StornierenAntwort