Skip to content
This repository has been archived by the owner on Jan 28, 2024. It is now read-only.

Mengubah struktur materi menampilkan file dalam folder berdasarkan guideline #62

Open
mnindrazaka opened this issue Mar 19, 2020 · 0 comments
Assignees
Labels
express express topic new topic creating new topic restructure restructure topic based on guideline

Comments

@mnindrazaka
Copy link
Member

mnindrazaka commented Mar 19, 2020

Berikut struktur materi berdasarkan guideline, silahkan berikan komentar apabila ada yang perlu ditambahkan

1. Permasalahan

Sebelumnya, kita sudah bisa membuat server yang dapat menerima sebuah file dan menyimpannya ke hardisk. Namun apabila file tersebut dicoba dibuka di browser, maka tidak akan muncul, malah muncul pesan bahwa rute tidak ditemukan.

2. Penjelasan Materi Sebagai Solusi

Agar file tersebut dapat ditampilkan, kita butuh membuat rute khusus yang digunakan untuk menampilkan file2 yang ada pada suatu folder. Pada express, kita bisa membuatnya dengan mudah menggunakan middleware express.static()

3. Penjelasan Detail Materi

  • penjelasan express.static
  • cara menampilkan file yang ada pada suatu folder menggunakan express.static

4. Contoh Kasus

Diberikan langkah - langkah untuk menampilkan file yang sudah terupload pada server yang sudah dibuat pada materi sebelumnya menggunakan express.static

source code akhir contoh kasus (pastikan berikan langkah - langkah saat menjelaskan) :

const express = require('express')
const app = express()
const multer = require('multer')
const upload = multer({ dest: 'public/upload/' })

const contacts = [
  {
    name: "amir",
    phone: "085482938471"
  },
  {
    name: "budi",
    phone: "086452738493"
  }
]

function validateIndex(req, res, next) {
  if (req.query.index !== undefined && contacts[req.query.index] === undefined) {
    res.send({ success: false })
  } else {
    next()
  }
}

app.use(validateIndex)
app.use(express.json())

// menampilkan semua file atau folder yang ada pada folder public
app.use(express.static('public'))

app.get("/contact", function (req, res) {
  res.send(contacts)
})

app.post("/contact", function (req, res) {
  contacts.push({ name: req.body.name, phone: req.body.phone })
  res.send({ success: true })
})

app.put("/contact", function (req, res) {
  contacts[req.query.index] = { name: req.body.name, phone: req.body.phone }
  res.send({ success: true })
})

app.delete("/contact", function (req, res) {
  contacts.splice(req.query.index, 1)
  res.send({ success: true })
})

app.put("/contact/upload", upload.single('photo'), function (req, res) {
  contacts[req.query.index].photo = req.file.path
  res.send({ success: true })
})

app.listen(3000, function () {
  console.log("server running")
})
@mnindrazaka mnindrazaka added express express topic new topic creating new topic restructure restructure topic based on guideline labels Mar 19, 2020
@mnindrazaka mnindrazaka changed the title Mengubah struktur materi static files berdasarkan guideline Mengubah struktur materi menampilkan file dalam folder berdasarkan guideline Mar 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
express express topic new topic creating new topic restructure restructure topic based on guideline
Projects
None yet
Development

No branches or pull requests

2 participants