Proyek ini adalah layanan upload file sederhana menggunakan Node.js dan Express. Layanan ini memungkinkan pengguna untuk mengupload file melalui form atau URL. File yang diupload disimpan sementara dan akan dihapus secara otomatis setelah 12 jam.
- Upload File via Form: Mengupload file melalui form HTML.
- Upload File via URL: Mengupload file dari URL yang ditentukan.
- Penyimpanan Sementara: File disimpan sementara dan dihapus setelah 12 jam.
- Logging: Pencatatan rinci dari permintaan dan kesalahan.
- Penanganan Kesalahan Kustom: Halaman kesalahan kustom untuk 404 dan kesalahan lainnya.
- Tema Night/Light Mode: Tampilan dengan mode gelap dan terang untuk pengalaman pengguna yang lebih baik [NEW].
- Pratinjau Media: Pratinjau gambar dan video yang diunggah langsung di halaman web[NEW].
- Penghapusan File Otomatis: File yang diunggah akan dihapus secara otomatis setelah 12 jam [NEW].
- Node.js
- npm
-
Clone repository ini:
git clone https://github.com/KiroFyzu/kiupload-vercel.git
-
Masuk ke direktori proyek:
cd kiupload-vercel
-
Install dependencies:
npm install
- Direktori Upload: Direktori upload default diatur ke
../../tmp/
untuk hosting di Vercel. Jika Anda menghosting secara lokal atau di server dedicated, ubah ke./tmp/
dalam fileapp.js
.
-
Mulai server:
npm start
-
Server akan berjalan di
http://localhost:3000
.
- URL:
/upload
- Metode:
POST
- Field Form:
file
(file input)
-
Sukses:
{ "credit": "https://github.com/KiroFyzu/", "message": "File uploaded successfully", "fileUrl": "http://localhost:3000/uploads/<filename>" }
-
Error:
{ "error": "Tidak ada file yang diupload atau media tidak support" }
- URL:
/upload-url
- Metode:
GET
- Parameter Query:
url
(URL dari file yang akan diupload)
-
Sukses:
{ "credit": "https://github.com/KiroFyzu/", "message": "File uploaded successfully", "fileUrl": "http://localhost:3000/uploads/<filename>" }
-
Error:
{ "error": "URL tidak valid" }
- Penghapusan File: File lama (lebih dari 12 jam) dihapus setiap jam.
- 404 Not Found: Dialihkan ke handler kesalahan.
- Kesalahan Lainnya: Halaman kesalahan kustom dirender berdasarkan lingkungan.
-
Upload dengan Drag and Drop atau Ctrl+V
- Pengguna dapat menyeret file ke area form upload atau menempelkan file dengan Ctrl+V.
-
Preview Media setelah Upload
- File yang diupload melalui form
uploadFromFile
akan ditampilkan sebagai preview (gambar atau video).
- File yang diupload melalui form
-
Tombol Night/Light Mode
- Tambahkan tombol untuk beralih antara mode malam dan mode terang. Preferensi tema disimpan di local storage.
-
Pemisahan Tag Styling dan Script
- Gaya CSS dipisahkan ke dalam file
style.css
. - Kode JavaScript dipisahkan ke dalam file
script.js
.
- Gaya CSS dipisahkan ke dalam file
aplikasi menjadi lebih interaktif dan terstruktur, meningkatkan kemudahan penggunaan dan pemeliharaan kode.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LICENSE untuk detail lebih lanjut.
- Dikembangkan oleh KiroFyzu