0

これは私のフォームです。このフォームを送信しながら、ノードjsに接続するにはどうすればよいですか。

<form id="fileupload" action="/file-upload" method="POST" enctype="multipart/form-data"> 
<input id="fileToBeUploaded" type="file" name="thumbnail">
<input type="submit" value="upload"> 
</form> 

サーバ側

var http = require("http");
var url = require("url");

http.createServer(function(req, res) {
  switch (url.parse(req.url).pathname)
  { 
    case '/': console.log('server side methodcalled'); 
      break;
    case '/file-upload': console.log('server side method called');
      break; 
    default: 
      console.log('server side method called');
      break;
  }
}); 
4

2 に答える 2

1

nodejsサーバープログラムでは、リクエストのメソッドとアクションを確認できます。

if((request.method == 'POST') && (request.url == '/file-upload') {
  .......
}

更新しました -

var http = require("http");
var url = require("url");
var fs = require("fs");

http.createServer(function(req, res) {
  switch (url.parse(req.url).pathname)
  { 
    case '/': 
      console.log('server side methodcalled'); 
        fs.readFile(__dirname + '/index.html',
          function (err, data) {    
            res.writeHead(200);
            res.end(data);
          });
        break;
    case '/file-upload': 
      console.log('server side method called');
      break; 
    default: 
      console.log('server side method called');
      break;
  }
}).listen(3000);

これで、localhost:3000に接続できます

于 2012-09-25T05:27:25.227 に答える
0

ファイルのアップロードを実装するには、リクエストの本文を読み取り、さまざまな複数の部分を解析する必要があります。これは注意が必要な場合があるため、手ごわいような既存のモジュール、またはconnect.bodyParser()やexpress.bodyParser()などの舞台裏でそれを呼び出すものを使用することを強くお勧めします。

于 2012-09-26T12:51:01.107 に答える