element-ui 업로드와 node.js 서버 multer 이미지 파일 업로드 기능 구현
13635 단어 Node.js프런트엔드 기술 축적
<el-upload
class="upload-demo"
action="http://localhost:3000/upload"
:file-list="fileList">
<el-button size="small" type="primary"> el-button>
<div slot="tip" class="el-upload__tip"> jpg/png , 500kbdiv>
el-upload>
백그라운드 express, app.js
// app.js
var uploaderRouter = require('./routes/upload')
app.all('*',function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
if (req.method == 'OPTIONS') {
res.send(200);
}else {
next();
}
});
app.use('/upload', uploaderRouter);
upload.js
// routes/upload.js
var express = require('express');
var router = express.Router();
const multer = require('multer')
const storage = multer.diskStorage({
//
destination(req, file, cb){
cb(null, 'public/upload/')
},
// multer ,
filename(req, file, cb){
cb(null, Date.now() + file.originalname)
}
})
const upload = multer({storage})
router.post('/', upload.single('file'), (req, res) =>{
// +
// app.js uploa
const url = 'http://localhost:3000/upload/' + req.file.filename
res.json({url})
})
module.exports = router;
2. 두 번째 버전은 프록시 설정을 사용해서 크로스 필드를 해결하지만 설정이 끝나면 다시 시작해야 합니다
npm run dev
그렇지 않으면 404 백엔드에서 어댑터의 크로스 코드를 삭제할 수 있습니다. 다른 코드는 바꾸지 않고 전단 코드를 바꿀 수 있습니다. <el-upload
class="upload-demo"
action="/api/upload"
:file-list="fileList">
<el-button size="small" type="primary"> el-button>
<div slot="tip" class="el-upload__tip"> jpg/png , 500kbdiv>
el-upload>
웹 팩 크로스 에이전트 설정:
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
ws: false
},
참고: 1. 다중 파일 이미지 업로드 방식:https://www.cnblogs.com/xiaoliwang/p/10190780.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Grunt에서 즉석 템플릿 엔진이 필요했기 때문에 마침내 만들었습니다.jade 라든지 ejs 라고도 좋지만, 보다 심플하게 하고 싶다고 생각해. json을 떨어 뜨렸다. 플레이스홀더(:TAG)를 마련해, 이런 HTML 만들어 둔다. template.html 자리 표시자의 문자열을 키로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.