Berawal dari laporan salah seorang Client saya yang tidak dapat men-download atau mengunduh file berekstensi .txt dari Aplikasi Web yang dihasilkan oleh PHPMaker 12, akhirnya saya mengirim pertanyaan mengenai hal ini kepada Forum Diskusi PHPMaker.
Jadi begini ceritanya. Jika pengaturan Encrypt file path diaktifkan dari menu Tools -> Advanced Settings pada project PHPMaker, maka file yang berekstensi .txt yang sudah berhasil di-upload atau diunggah melalui Aplikasi Web tersebut, tidak dapat diunduh.
Tapi yang lucunya, jika pengaturan tadi tidak diaktifkan, file .txt tadi bisa diunduh. Nah, masalahnya adalah, si Client ini ingin tetap mengaktifkan pengaturan Encrypt file path tersebut.
Beruntunglah salah seorang member di forum tersebut dapat menemukan solusinya. Ternyata cukup dengan menyesuaikan nilai dari konstanta EW_DOWNLOAD_ALLOWED_FILE_EXT, yaitu dengan menambahkan ekstensi txt ke dalamnya, sehingga kode pada file ewcfg12.php menjadi:
define("EW_DOWNLOAD_ALLOWED_FILE_EXT", "pdf,xls,doc,xlsx,docx,txt", TRUE); // Allowed file extensions for download (non-image)
Sayangnya, nilai ekstensi ini belum bisa disesuaikan dari dalam project PHPMaker. Sampai saat ini, versi 12.0.3, belum ada pengaturan yang disediakan untuk mengubah nilai tersebut. Akhirnya, mau tidak mau, suka tidak suka, untuk saat ini kita harus mengubahnya secara manual dari file ewcfg12.php yang sudah di-generate oleh PHPMaker.
Meskipun sedikit repot, tapi ternyata author PHPMaker diam-diam sudah menyediakan solusinya. Berharap semoga di versi berikutnya tersedia pilihan untuk menyesuaikan nilai konstanta tadi.
Nanda mengatakan
Pak Masino Sinaga, saya coba pake PHP Maker 12.6 disitu kan ada tambahan :
# Improved: Add file name in header when “Encrypt file path” enabled #
itu maksudnya apa ya ?
saya coba Generate kok gak ada perubahan ketika akan upload File baik di halaman add maupun Edit.
Perubahan Justru ada di Halaman List dan View dimana File (hasil Upload) hanya bisa di download dan tidak bisa di Lihat meskipun tipe File nya .Pdf dan .Jpg, padahal saya justru mengharapkan file tersebut Bisa Di lihat tanpa harus di dwonload, khususnya file Pdf.
Masino Sinaga mengatakan
Header yang dimaksud di sini sepertinya bukan bagian atas halaman aplikasi web yang kelihatan ke user. Sepertinya header di situ maksudnya di bagian atas dari kode HTML jika View Source ditampilkan.
Untuk file PDF yang bisa ditampilkan di browser, sepertinya itu tergantung kepada browser-nya. Jika ada add-on untuk menampilkan file PDF di browser, maka bisa ditampilkan di browser. Sedangkan jika tidak ada add-on seperti itu, maka file PDF akan terdownload.
Nanda mengatakan
Terimaksih pak atas jawabanya,
Oooh saya kira Header itu ada semacam Field Input untuk menamai File Secra Custom (user bisa menamai ‘File Name’ dari field input).
Untuk File Pdf yang ter Download itu saya pernah bikin Project pakai Versi 12.5 kebawah sepertinya tidak ada masalah dan tidak terDownload , namun ketika Projeck tersebut (Projek yang sama) saya buka pakai Versi 12.6 saya Generate Ulang hasilnya terDownload,
terus saya coba bikin Project baru hasilnya juga sama, termasuk File .Jpg/ jpeg juga terDownload juga.
sampai sekarang saya lihat-lihat dari dalam Projek PHP Maker belum ada Pengaturan mengenai hal tersebut.
Masino Sinaga mengatakan
Di dalam file ewcfg12.php yang di-generate oleh PHPMaker ada konstanta yang bernama EW_DOWNLOAD_ALLOWED_FILE_EXT. Coba hapus ekstensi file pdf yang ada di sana, setelah itu coba lagi, apakah file pdf masih terdownload atau tidak.
Sedangkan untuk file jpg/jpeg, pastikan Anda sudah memilih Image (bukan Formatted Text) dari panel View Tag di bawah Fields setup, lalu generate ulang lagi semua file script.
Nanda mengatakan
oke Pak terimakasih , nanti saya coba dulu.
Masino Sinaga mengatakan
Sama-sama.
Nanda mengatakan
Pak, seperti nya masalah ini masih sama di Versi 2018 ini, dimana file PDF (field lampiran) tidak bisa di buka di browser tapi hanya disa di Download.
saya pake cara diatas masih tetap sama , ga ada perubahan.
apa ada cara agar file Pdf tersebut bisa dilihat dari browser tanpa harus di Download ?
Masino Sinaga mengatakan
Topik di forum diskusi ini sepertinya bisa membantu: How to view pdf uploaded file.
Nanda mengatakan
Maaf saya coba ini
From
$dompdf->stream($gsExportFile . “.pdf”, array(“Attachment” => 1)); // 0 to open in browser, 1 to download
To
$dompdf->stream($gsExportFile . “.pdf”, array(“Attachment” => 0)); // 0 to open in browser, 1 to download
hasilnya masih sama.
Masino Sinaga mengatakan
Coba kontak support PHPMaker-nya. Biasanya mereka bisa membantu.
aragon mengatakan
bang masino cara custom export pdf biar tampilannya tidak selalu vertical bagaimana? saya coba di Page_exporting dan Row_export selalu error ya? mohon info nya
Masino Sinaga mengatakan
Gak ngerti maksudnya.
Dale mengatakan
Pak saya sudah generating file upload tapi saat di preview di file uploadnya hasilnya opsi untuk file uploadnya tidak muncul kira kira gimana yah?
Masino Sinaga mengatakan
Baca Tutorial mengenai File Upload to Folder dari menu Help PHPMaker.
ari saputra mengatakan
Mohon bimbingan bapak ,
Saya belajar phpmaker untuk data gambar upload , waktu mencoba upload selalu gagal
ada tulisan
onepicture.png 41.25 KB SyntaxError: Unexpected token < in JSON at position 0
Terima kasih
Masino Sinaga mengatakan
Pastikan pakai versi 2018 (yang terakhir saat ini).
agus mengatakan
Bang mohon pencerahan, bagaimana cara nya supaya file pdf atau word yang saya upload melalui form, dapat di download dari list view? terimakasih
Agus mengatakan
Saya sudah dapat jawabannya … Ternyata tinggal sering pada field yang langsung. PHP maker OK….
Masino Sinaga mengatakan
Tidak ada fitur seperti itu di PHPMaker. Tapi Anda bisa menggunakan script third party kalau memang tersedia, coba Googling aja.
agus mengatakan
maksud pertanyaan saya jika itu diterapkan pada phpmaker 2019
Dendi mengatakan
Bang Masino, apakah di PHP Maker 21 keatas ada fungsi / event pada Server Events yang bisa dijalankan saat File Pdf di muat.
jadi ketika file (nama Field) dalam bentuk pdf dibuka ada aksi dibelakang layar yang bisa dijalankan ?
Masino Sinaga mengatakan
Sayangnya tidak ada.