1

ajaxファイルアップロードプラグイン(ファイルアップローダープラグイン)を使用して、node.jsサーバーにファイルをアップロードしようとしています。これは、プラグインを初期化するためのクライアント側のコードです。

$(function() {
    /* dom ready */ 
  var uploader = new qq.FileUploader({
    // pass the dom node (ex. $(selector)[0] for jQuery users)
    element: document.getElementById('uploader'),
    // path to server-side upload script
    action: '/newitem',
    allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
    sizeLimit: 10000000
});
});

私のサーバーコードは

  app.post('/newitem',function(req, res) {
      if(req.xhr) {
        console.log('Uploading...');
        var fName = req.header('x-file-name');
        var fSize = req.header('x-file-size');
        var fType = req.header('x-file-type');
        var ws = fs.createWriteStream('./'+fName)

        req.on('data', function(data) {
            console.log('DATA');
            ws.write(data);
        });
        req.on('end', function() {
            console.log('All Done!!!!');
            res.writeHead(200, { 'Content-Type': 'text/html' }); 
            res.end();
        });
    }

        });

私の問題は、進行状況を更新できず、アップロードが成功している間、アップローダーがアップロードの失敗した結果を表示することです。これはajaxサーバーの応答に関連していると思いますよね?どうすれば修正できますか?

ありがとう

4

1 に答える 1

1

で変更

   req.on('end', function() {
      res.writeHead(200, { 'Content-Type': 'application/json' }); 
      res.end(JSON.stringify({
          success: true
      }));
  });
于 2012-05-17T01:26:38.130 に答える