如何使用node-formidable项目滚动自己的进度条?

时间:2012-02-11 07:09:05

标签: node.js xmlhttprequest

我是node.js中的新手。

我目前正在处理文件上传服务。我在客户端使用xhr轮询如下:

var xhr = new XMLHttpRequest();
var onProgress = function(e) {
    console.log(e);
};
var formData = new FormData();
formData.append('file_name_input', file_name_input[0].files[0]);
xhr.addEventListener('progress', onProgress, false);
xhr.open('post', 'http://ServerAddress/upload', true);
xhr.send(formData);

在服务器上,我使用formidable和类似的代码:

var http = require('http'),
    formidable = require('formidable');

var server = http.createServer(function(request, response) {
   if (request.url == '/upload' && request.method.toLowerCase() == 'post') {
       var form = new formidable.IncomingForm();
       form.addListener('progress', function(bytesReceived, bytesExpected){
           response.write(bytesReceived);
       });
   }
});

我的问题是这段代码没有滚动我自己的进度条。如何从客户端滚动我自己的进度条?

1 个答案:

答案 0 :(得分:0)

您可以从查看现有库(例如jQuery File Upload)如何实现进度条开始。它使用twitter's bootstrap来呈现进度条