node +express4 +multiparty 구현 파일 서버에 업로드
원인:
최근 유전자 비교 프로젝트를 개발하고 있기 때문에 로컬 파일을 서버에 업로드한 다음 그 중의 데이터를 읽고 데이터베이스에 있는 데이터와 비교하여 유사도를 계산해야 한다.
소프트웨어 개발
Mac + webstrom(2017.1.3) + node(v8.2.0)
실현 과정
step1: 웹strom 새 빈 항목을 엽니다. upload라고 명명하고 Terminal에 다음 명령을 입력하십시오.
npm init( enter)
npm install express --save-dev
npm install ejs --save-dev
npm install fs --save-dev
npm install multiparty --save-dev
step2: 파일 디렉터리를 만들고views 폴더 아래에 index를 추가합니다.html 파일은 다음 그림과 같습니다.
upload
....node_modules
....uploads
....views
....index.html
....app.js
....package.json
....package-lock.json
step3: 앱 작성.js 파일
//
var express = require('express'),
path = require('path'),
ejs = require('ejs'),
fs = require('fs'),
multiparty = require('multiparty'),
app = express();
//
app.engine('.html', ejs.renderFile);
app.set('view engine', 'html');
//
app.set('views', path.join(__dirname, 'views'));
// index.html
app.get('/', function (req, res) {
res.render('./index');
});
app.post('/upload', function (req, res) {
var form = new multiparty.Form({uploadDir: './uploads'});
form.parse(req, function(err, fields, files) {
var fileOriginalFilename = files.thumbnail[0].originalFilename;
var filePath = files.thumbnail[0].path;
var dstPath = './uploads/' + fileOriginalFilename;
fs.rename(filePath, dstPath, function (err) {
if (err) {
console.log('rename error: ' + err);
} else {
console.log('rename ok');
}
});
res.send('upload success');
});
});
// web , "http://localhost:3002"
var server = app.listen(3002, function () {
var host = server.address().address;
var port = server.address().port;
console.log('App listening at http://%s%s', host, port);
});
step4: 인덱스 작성.html 파일
upload
//
$('#formOne').bind('submit', function () {
var fileValue = $('#file').val();
if (!fileValue) {
alert(" ");
return false;
}
})
이제 모두 완료되었습니다. Terminal에 node app을 입력하십시오.js는 서버를 시작할 수 있습니다. 업로드된 파일은 uploads 폴더에 있습니다.
Github 소스
https://github.com/SevenTrap/upload
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.