Catatan Programmer Perbatasan
<?php
// CONECT DATABASE
include('koneksi.php');
$id = $_GET['id'];
$sqll="SELECT * FROM `file_attachment` WHERE `id`='$id'";
$query=mysql_query($sqll) or die(mysql_error());
$result=mysql_fetch_array($query);
$content=$result['file_content'];
?>
<object data="data:application/pdf;base64,<?php echo base64_encode($content); ?>" type="application/pdf" style="height:98%;width:100%"></object>
CREATE TABLE IF NOT EXISTS `file_attachment` (`id` bigint(20) NOT NULL,`file_content` mediumblob NOT NULL,`file_name` varchar(255) NOT NULL,`file_type` varchar(255) NOT NULL,`file_size` bigint(20) NOT NULL DEFAULT '0') ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
3. ini coding php untuk menampil dan mengambil gambar dari database, simpan dgn nama view_blob.php cara menggunakan nya jadi jika ingin melihat gambar di id 1 maka http://localhost/project/view_blob.php?id=1<?php// CONECT DATABASE@mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE");@mysql_select_db("gambar") OR die ("CONNECTED, BUT NO DATABASE");$file_name = $_FILES['file']['name'];$tmp_name = $_FILES['file']['tmp_name'];$file_size = $_FILES['file']['size'];$file_type = $_FILES['file']['type'];$fp = fopen($tmp_name, 'r');$file_content = fread($fp, $file_size) or die("Error: cannot read file");$file_content = mysql_real_escape_string($file_content) or die("Error: cannot read file");fclose($fp);// INSERT$qu = "INSERT INTO `file_attachment`(`file_content`,`file_name`,`file_type`,`file_size`)VALUES('".$file_content."','".$file_name."','".$file_type."','".$file_size."')";$re = mysql_query($qu) or die ("Sorry Cant insert db!");echo $file_name." inserted succesfully to database";?>
<?php
// CONECT DATABASE
@mysql_connect("localhost", "root", "") OR die ("NOT CONNECT DATABASE");
@mysql_select_db("gambar") OR die ("CONNECTED, BUT NO DATABASE");
function jin_gfile($txt) {
$txt = preg_replace("/[^a-zA-Z0-9s.]/", "_", trim($txt));
return $txt;
}
$id = $_REQUEST['id'];
$query = "SELECT * FROM `file_attachment` WHERE `id`='".$id."' LIMIT 1";
$qu = mysql_query($query);
$num = mysql_numrows($qu);
if($num > 0) {
$result=mysql_fetch_object($qu);
header("Content-Disposition: attachment; filename=".jin_gfile($result->file_name.""));
header("Content-length: ".$result->file_size."");
header("Content-type: ".$result->file_type."");
echo $result->file_content;
} else {
echo "File tidak valid!";
}
?>4. coding php untuk menampilkan gambar. ini khusus untuk aplikasi di php
5. selanjutnya coding untuk di delphi, untuk menyimpan gambar jgn lupa tambahkan uses IdMultipartFormData<?phpecho '<img src="http://localhost/gambar/view_blob.php?id='. $_GET['gambar'] .'" alt="Gambar Alumni 1996">';?>
procedure TForm1.Button1Click(Sender: TObject);
var
PostData: TIdMultipartFormDataStream;
id : TidHttp;
begin
PostData := TIdMultipartFormDataStream.Create;
id := TIdHttp.Create();
try
PostData.AddFile('file', 'D:\pictures\images.jpg');
id.Post('http://localhost/gambar/insert_blob.php', PostData);
showmessage('Berhasil terupload');
finally
PostData.Free;
id.Free;
end;
end;6. untuk mengambil gambar di delphi
procedure TForm1.Button2Click(Sender: TObject);
var
id : TidHttp;
gambar : TMemoryStream;
begin
id := TIdHttp.Create();
gambar := TMemoryStream.Create;
try
Id.Get('http://localhost/gambar/view_blob.php?id=2',gambar);
gambar.Position := 0;
Image1.Bitmap.LoadFromStream(gambar);
finally
id.Free;
gambar.Free;
end;
end;7. bonus jadi jika ingin post gambar berserta field yang lain misalnya nama, keterangan dll, jangan lupa untuk menyesuaikan struktur databasenya.
procedure TForm1.Button1Click(Sender: TObject);varPostData: TIdMultipartFormDataStream;id : TidHttp;beginPostData := TIdMultipartFormDataStream.Create;id := TIdHttp.Create();tryPostData.AddFile('file', 'D:\pictures\images.jpg');
PostData.AddFormField('nama', nama.text);
PostData.AddFormField('keterangan', keterangan.text);
id.Post('http://localhost/gambar/insert_blob.php', PostData);showmessage('Berhasil terupload');finallyPostData.Free;id.Free;end;end;
Fungtion Part 1 : Format
membuat fungsi mencari umur pada SQLite
Flutter Tutorial
Tutorial Setting SDK Manager untuk built apk Android di aplikasi Delphi
Perbedaan FormData() dengan URLSearchParams()
Pengaturan Firebase Push Notification di Delphi FMX
Delphi : Tutorial menyimpan gambar kedalam database SQL
Post gambar ke field blob database mengunakan Delphi & Php
MySQL : Tutorial Menghitung selisih tanggal menggunakan fungsi DATEDIFF



