nodejs express(4.x)_node.js 기반으로 파일 업로드 기능 구현
Nodejs는 활력과 무한한 열정으로 가득 찬 젊은 프로그래밍 프레임워크이며 항상 빠르게 업데이트되었습니다. Nodejs 기반의 공식 웹 개발 라이브러리인 Express도 매년 주요 버전 업그레이드와 프레임워크 하단 레이어의 대대적인 수술까지 동시에 개발 중입니다. Express4에서는 미들웨어 라이브러리 연결이 더 세분화된 여러 라이브러리로 대체되었습니다. 분명한 이점은 이러한 미들웨어가 더 자유롭게 업데이트 및 릴리스될 수 있고 Express 릴리스 주기의 영향을 받지 않는다는 것입니다. 그러나 문제는 이전 버전과 호환되지 않으며 업그레이드한다는 것은 코드를 수정한다는 것을 의미합니다.
일정 기간의 연구와 탐색 끝에 업로드를 달성하는 방법은 다음과 같습니다. 1. Express Middleware Multer 모듈(가장 효율적이며 express3.x에서 기본적으로 지원되며 express4.x에서 독립 모듈이 됨) ), 2. connect-multiparty 모듈(그러나 현재는 공식적으로 권장되지 않음), 3. multiparty 모듈을 사용하여 구현(이 방법이 더 일반적임), 4. 강력한 플러그인을 사용하여 구현(플러그인은 간단하고 이해하기 쉽습니다)
가장 간단한 방법은 "connect-multiparty" 미들웨어를 통해 업로드하는 것입니다.
프로젝트에 npm install connect-multiparty를 설치합니다.
사용법:
var multipart = require('connect-multiparty'); var multipartMiddleware = multipart(); app.post('/upload', multipartMiddleware, function(req, resp) { console.log(req.body, req.files); // don't forget to delete all req.files when done });
업로드 후 업로드된 파일은 임시 디렉터리에 임시 파일을 생성합니다. req.files를 인쇄하여 특정 파일 경로를 볼 수 있습니다.
댓글 달린 곳의 실제 디렉터리로 임시 파일을 이동하고 이름을 바꾸면 업로드 기능이 완료됩니다.
간단합니다.
공식 주소: https://www.npmjs.com/package/connect-multiparty
그러나 공식에서는 이 미들웨어를 사용하는 것을 권장하지 않습니다. 오류 처리가 더 번거롭기 때문에 직접 "다자간"을 사용하는 것이 좋습니다.
"다자간"을 사용하여 버전을 구현해 보겠습니다.
1. 기본 jade를 템플릿 엔진으로 사용하여 프로젝트를 생성하려면 express(버전 4.11.x)를 사용하세요.
2. 프로젝트 디렉토리에서 npm install multiparty를 통해 필요한 구성요소를 설치합니다.
3. views/index.jade를 수정하고 다음과 같이 간단한 파일 업로드 양식을 만듭니다.
extends layout block content form(method='post', action='/file/uploading', enctype='multipart/form-data') input(name='inputFile', type='file', multiple='mutiple') input(name='btnUp', type='submit',value='上传')
4. 페이지 업로드 및 응답 업로드를 위한 배경 코드를 구현하도록 경로/index.js를 수정합니다.
var express = require('express'); var router = express.Router(); var multiparty = require('multiparty'); var util = require('util'); var fs = require('fs'); /* 上传页面 */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); /* 上传*/ router.post('/file/uploading', function(req, res, next){ //生成multiparty对象,并配置上传目标路径 var form = new multiparty.Form({uploadDir: './public/files/'}); //上传完成后处理 form.parse(req, function(err, fields, files) { var filesTmp = JSON.stringify(files,null,); if(err){ console.log('parse error: ' + err); } else { console.log('parse files: ' + filesTmp); var inputFile = files.inputFile[]; var uploadedPath = inputFile.path; var dstPath = './public/files/' + inputFile.originalFilename; //重命名为真实文件名 fs.rename(uploadedPath, dstPath, function(err) { if(err){ console.log('rename error: ' + err); } else { console.log('rename ok'); } }); } res.writeHead(, {'content-type': 'text/plain;charset=utf-'}); res.write('received upload:\n\n'); res.end(util.inspect({fields: fields, files: filesTmp})); }); }); module.exports = router;
완료되었습니다. 이것으로 nodejs express(4.x) 기반의 파일 업로드 기능에 대한 소개를 마치겠습니다. nodejs express 관련 지식을 익히시는 모든 분들께 도움이 되었으면 좋겠습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











파일 업로드를 처리하는 방법은 무엇입니까? 다음 글에서는 Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.

Express와 Laravel의 심층 비교: 최고의 프레임워크를 선택하는 방법은 무엇입니까? 프로젝트에 적합한 백엔드 프레임워크를 선택할 때 Express와 Laravel은 의심할 여지 없이 개발자들 사이에서 인기 있는 두 가지 선택입니다. Express는 Node.js 기반의 경량 프레임워크인 반면 Laravel은 PHP 기반의 널리 사용되는 프레임워크입니다. 이 기사에서는 이 두 프레임워크의 장점과 단점을 심층적으로 비교하고 개발자가 자신의 요구 사항에 가장 적합한 프레임워크를 선택하는 데 도움이 되는 특정 코드 예제를 제공합니다. 성능 및 확장성Expr

Express와 Laravel은 각각 JavaScript와 PHP라는 두 가지 주요 개발 언어의 뛰어난 프레임워크를 대표하는 매우 인기 있는 웹 프레임워크입니다. 이 기사에서는 개발자가 자신의 프로젝트 요구 사항에 더 적합한 프레임워크를 선택하는 데 도움이 되도록 이 두 프레임워크를 비교 분석합니다. 1. 프레임워크 소개 Express는 Node.js 플랫폼을 기반으로 하는 웹 애플리케이션 프레임워크로 개발자가 고성능 웹 애플리케이션을 빠르게 구축할 수 있도록 하는 일련의 강력한 기능과 도구를 제공합니다. 표현하다

node+express는 쿠키를 어떻게 작동합니까? 다음 글에서는 노드를 사용하여 쿠키를 운영하는 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다!

Express vs. Laravel: 장단점을 비교하면 어떤 것을 선택하시겠습니까? 웹 개발 분야에서 Express와 Laravel은 많은 주목을 받은 프레임워크입니다. Express는 Node.js 기반의 유연하고 가벼운 웹 애플리케이션 프레임워크인 반면, Laravel은 PHP 기반의 우아하고 기능이 풍부한 웹 개발 프레임워크입니다. 이 기사에서는 기능, 사용 용이성, 확장성 및 커뮤니티 지원 측면에서 Express와 Laravel의 장단점을 비교하고 결합합니다.

React 및 Express를 사용하여 풀 스택 JavaScript 애플리케이션을 구축하는 방법 소개: React 및 Express는 현재 매우 인기 있는 JavaScript 프레임워크로 각각 프런트엔드 및 백엔드 애플리케이션을 구축하는 데 사용됩니다. 이 기사에서는 React와 Express를 사용하여 풀 스택 JavaScript 애플리케이션을 구축하는 방법을 소개합니다. 간단한 TodoList 애플리케이션을 구축하는 방법을 단계별로 설명하고 구체적인 코드 예제를 제공합니다. 1. 시작 전 준비사항

백엔드 프레임워크를 선택할 때 Express와 Laravel 모두 매우 인기 있는 선택입니다. Express는 Node.js 기반의 웹 애플리케이션 개발 프레임워크인 반면, Laravel은 PHP 기반의 웹 애플리케이션 개발 프레임워크입니다. 둘 다 고유한 장점이 있으며 가장 적합한 프레임워크를 선택하려면 여러 요소를 고려해야 합니다. Express 프레임워크의 강점은 유연성과 쉬운 학습 곡선입니다. Express의 핵심 아이디어는 "충분히 작고 충분히 유연하다"이며, 수많은 미들웨어를 제공합니다.

Node.js를 사용하여 간단한 블로그 시스템을 구축하는 방법 Node.js는 ChromeV8 엔진을 기반으로 하는 JavaScript 런타임 환경으로 JavaScript를 보다 효율적으로 실행할 수 있습니다. Node.js의 도움으로 우리는 블로그 시스템을 포함하여 JavaScript를 사용하여 강력한 서버 측 애플리케이션을 구축할 수 있습니다. 이 기사에서는 Node.js를 사용하여 간단한 블로그 시스템을 구축하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 누르다
