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 回答