multer를 사용하여 클라이언트 측의 HTML 양식에서 서버 측으로 파일을 업로드하려고합니다. 멀 터 모듈은 서버 측에서 파일을 처리합니다.멀터가 파일을 업로드하지 않습니다
서버에서 200 ok 응답을 받기 때문에 모든 것이 정상이지만 파일은 내 fileSystem에 업로드해야하며 볼 수 없습니다.
이 내 HTML 양식
<template>
<div id="app">
<form action="http://localhost:3000/upload" method="post" enctype="multipart/form-data">
<h2>Select a file</h2>
<input name="curriculum" id="inputVal" type="file">
<button type="submit">Send</button>
</form>
</div>
</template>
내 서버 측 코드
var express = require('express');
var router = express.Router();
var path = require('path');
var fs = require('fs');
var multer = require('multer')
var storage = multer.diskStorage({
destination: function(req,file,callback) {
callback(null, '../files');
},
filename: function(req,file,callback) {
callback(null,Date.now() + file,callback);
}
})
var upload = multer({ storage: storage }).single('curriculum');
router.post('/upload', function (req, res, next) {
upload(req,res, function(err){
if(err) {
return res.status(404).send("a error ocurred");
}
res.status(200).send("file uploaded");
});
});
module.exports = 라우터; UPDATE
는 내 용액베이스 단 NPM의 multer의 사이트 (서버 측)
var express = require('express');
var router = express.Router();
var path = require('path');
var fs = require('fs');
var multer = require('multer')
var upload = multer({ dest: 'uploads/' });
router.post('/upload',upload.single('curriculum') ,function (req, res, next) {
console.log(req.files);
});
module.exports = 라우터를 변경;
타이!
당신이 당신의 파일을 업로드하려고하는 대상 폴더로 설정 적절한 읽기/쓰기 persmission이 있습니까 ? –
예, 오류가 발생하지 않습니다. 일반적으로 CORS를 얻을 수는 있지만 응용 프로그램 파일에 허용됩니다. 작동하지 않는 이유를 모르겠습니다. –
파일 뒤에/'콜백 (null, '../ files /');'으로 호출하여 작동하는지 확인하십시오. –