S
S
SpeNch2021-02-22 02:35:59
Node.js
SpeNch, 2021-02-22 02:35:59

Why didn't the image load?

I am trying to upload an image using node js server language, AJAX,
but the file is not getting uploaded please help!
HTML, AJAX:

<!DOCTYPE html>
<html>
<head>
    <title>Node.js</title>
    <meta charset="utf-8" />
</head>
<body>
  <form enctype="multipart/form-data" id="person" name="person">
    <label>Файл</label><br>
    <input name="filedata" type="file"><br>
    <br>
    <input name="name_user" type="text"><br>
    <br>
    <input id="submit" type="submit" value="Send">
  </form>

<script type="text/javascript">
  submit.onclick = function() {
    event.preventDefault();
    var formData = new FormData(document.forms.person);
    var boundary = String(Math.random()).slice(2);
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "/upload");
    xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + boundary);
    xhr.onreadystatechange = function() {
      if (this.readyState != 4) return;
      alert(this.responseText);
    }
    xhr.send(formData);
  }
</script>

</body>
<html>

NODEJS :
const express = require("express");
const multer = require("multer");
const app = express();
app.use(express.static(__dirname));
app.use(multer({
  dest: "uploads"
}).single("filedata"));

app.post("/upload", function(req, res, next) {
  console.dir(req.file)
  let filedata = req;
  if (!filedata) res.send("Ошибка при загрузке файла");
  else res.send("Файл загружен");
});
app.listen(3000);

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question