Ich bekomme diesen Fehler, wenn ich versuche, ein Bild aus der Datenbank abrufen, alles, was ich tun wollte, ist nur das Signaturbild aus meiner Sicht ausdrucken, kann jemand helfen? Ich habe gehört, dass die Datei beschädigt sein könnte oder etwas oder auch nicht Base64 entschlüsseln könnte, aber ich sehe, dass sie codieren verwenden? (ziemlich verwirrt, was zu tun) Vielen Dank im VorausFehler: imagecreatefromstring(): Daten sind nicht in einem erkannten Format Laravel
Ich speicherte mein Bild in der Datenbank durch Benutzereingaben und legte es in der Datenbank im Binärformat. ($ Table-> binary ('Signatur');)
-Controller
public function getInfo($id) {
$data = personal_info::where('id',$id)->get();
$imageDataEncoded = DB::table('personal_infos')->select('signature')->get(); //get image
$imageData = base64_decode($imageDataEncoded);
$source = imagecreatefromstring($imageData);
$imageSave = imagejpeg($source);
imagedestroy($source);
return view('test',compact('data','imageSave'));
}
view.blade.php
@foreach ($data as $object)
<b>Signature: </b>{{$object->$imageSave}}<br><br>
Wenn ich diesen ganzen Teil am Regler entfernen und diese nur verwendet in der view.blade.php werde ich keinen fehler bekommen, aber ich weiß, dass es falsch ist, da ich es in ein bild umwandeln soll, das ich gemacht habe. Ich habe von anderen Forum gesehen, dass ich den Pfad des Bildes brauche, aber mein Bild ist in der Datenbank gespeichert, was soll ich tun?
Controller (wenn entfernen)
$imageDataEncoded = DB::table('personal_infos')->select('signature')->get(); //get image
$imageData = base64_decode($imageDataEncoded);
$source = imagecreatefromstring($imageData);
$imageSave = imagejpeg($source);
imagedestroy($source);
view.blade.php
@foreach ($data as $object)
<b>Signature: </b>{{base64_decode($object->$imageSave)}}<br><br>
Signaturbild von Benutzer mit diesem Get: page1.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Signature Pad</title>
</head>
<body>
{!! Form::open(['url' => 'page1/submit']) !!}
<canvas id="signature-canvas" style="width:500px;height:200px;max-width:100%;border:1px #CCC solid;"></canvas>
<div id="signature-message"></div>
<div id="signature-buttons">
<input type="button" id="clear-signature-btn" value="Clear">
<input type="button" id="save-signature-btn" value="Save">
</div>
<input type="hidden" name="signature" id="signature-data" value="">
SignatureController
public function submit(Request $request)
{
$data = array();
$data['signature'] = $request->signature;
bekommen diese nun: (warum soll ich das bekommen?)
Mögliches Duplikat von [imagecreatefromstring(): Daten sind nicht in einem erkannten Format in] (https: // stackoverflow.com/questions/42228473/imagecreatefromstring-data-is-nicht-in-a-recognized-format-in) –
Es ist irgendwie ähnlich, aber ich hatte versucht, es mit der Antwort zu beheben, die zur Verfügung gestellt wurde. Ich habe meine Fragen aktualisiert. Könnten Sie mir helfen, einen Blick darauf zu werfen? @peterHaberkorn – blastme
zeigen pls den Quellcode des Elements, das im Frontend gerendert wird und was ist das Basisformat, das der Benutzer hochladen –