2014-10-06 2 views
0

웹 사이트를 통해 파일을 업로드하려고합니다. 웹 프로그래밍을 처음 접했을 때 웹에서 모든 예를 찾아 볼 수있는 완전한 예제를 찾지 못했습니다.Express + Connect (노드)를 사용하여 파일 업로드

내 시나리오는 다음과 같습니다. Nodejs (v.0.10.25) + Express (4.9.0) Connect (3.0)을 사용하려고합니다.

Express 명령을 사용하여 앱을 만들었습니다. 그래서 app.js가 기본값으로 만들어졌습니다. 익스프레스에는 기본적으로 멀티 파트가 없다는 것을 알았습니다. 그리고 그것을 사용하기 위해 미들웨어를 설치해야합니다. Connect를 설치하려고합니다. 질문은 : 어떻게 구성합니까? Connect 서버용 Express 서버를 교체해야합니까 아니면 함께 존재할 수 있습니까?

어떻게 작동합니까? 아니면 예를 보여 주겠습니까?

너무 많이 감사합니다.

+0

http://howtonode.org/really-simple-file-uploads를 통해. 꽤 넓다. ** Express ** 또는 ** Connect ** 만 사용하고 싶을 것입니다. ** Connect ** 미들웨어는 ** Express **와 잘 작동합니다. ** connect-busboy ** 또는 ** connect-multiparty **를 제안합니다. 관련된 Github 페이지에 좋은 예가 있기 때문에 어떤 예제도 만들지 않을 것입니다. ** Connect ** 및 ** Express **에서 지원하는 미들웨어는 https://github.com/senchalabs/connect?_ga=1.267884814.1434071463.1390859279middleware – Jordonias

+0

에서 구할 수 있습니다. Express 4는 더 이상 미들웨어를 사용하지 않습니다. http : //scotch.io/bar-talk/expressjs-4-0-nfe-features-and-upgrading-from-3-0 – xShirase

+0

xShirase에 따르면 Express는 Express 4.0에서 작동하지 않습니다. 나는 하나님의 모범을 다시 보게 될 것이지만, 내가 묘사 한 시나리오로 그것을 발견하지 못했다. –

답변

0

이 정말 문제가 아닙니다

<!-- client html --> 
<form action="upload" method="post" enctype="multipart/form-data"> 
    <input type="file" name="file_upload"> 
</form> 
// node.js server 
var fs = require('fs'), 
    http = require('http'); 
    app = (require('express'))(); 
app.post('upload', function(req, res){ 
    fs.readFile(req.files.file_upload.path, function (err, data) { 
    var newPath = __dirname + "/uploads/uploadedFileName"; 
    fs.writeFile(newPath, data, function (err) { 
     res.redirect("back"); 
    }); 
    }); 
}); 
+0

T.W.R,이 코드는 Express 4.0에서 작동합니까? 여기서 작동하지 않습니다 –

+0

파일을 옮기는 것이면 매우 비효율적입니다. 파일을 이동하려면 ['fs.rename()'] (http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback)을 사용하십시오. – mscdex

+0

이 코드는 여러분의 경로 앞에 미들웨어를 해석 할 적절한 body를'app.use()'제공하면 Express 4와 함께 작동 할 것입니다. 'req.files'를 원한다면,'multiparty' /'formidable' 또는'multer' 모듈을 시험해 볼 수 있습니다. 들어오는 데이터에 더 큰 유연성을 원한다면,'busboy' /'connect-busboy'를 들여다 볼 수 있습니다. – mscdex

관련 문제