Hi!
working on a project that takes an image and save it to the DB I noticed that it is saved in a strange format. It's working, I'm just curious.
Using this code:
procedure TfrmNew.UpdatePicture;
var
xhr: TJSXmlHttpRequest;
// slika: string;
function Base64ToArrayBuffer(str: string): TJSArrayBuffer;
var
BufView: TJSUInt8Array;
BinaryString: string;
I: Integer;
begin
BinaryString := window.atob(str);
Result := TJSArrayBuffer.New(Length(BinaryString));
BufView := TJSUInt8Array.New(Result);
for I := 0 to Length(BinaryString) - 1 do
BufView := TJSString(BinaryString).CharCodeAt(I);
end;
begin
xhr := TJSXMLHttpRequest.new;
xhr.open('PUT', connServer.URL+'/'+string('pobuda('+wdsPobuda.FieldByName('Id').AsString+')/Slika'));
xhr.send(Base64ToArrayBuffer(StringReplace(camMain.SnapShotAsBase64, 'data:image/png;base64,', '', [])));
end;
The input string is like this:
iVBORw0KGgoAAAANSUhEUgAAAqIAAAGoCAYAAACdcocIAAAgAElEQVR4
but in the DB is saved like this:
‰PNG IHDR€à5ÑÜä IDATx^̽YnYrv¾)3ï½U=Åf7AX4m
Is this correct?