【发布时间】:2015-11-16 22:05:00
【问题描述】:
我可以使用 Node.js 下载文件并显示并获取其进度。我想使用 socket.io 在浏览器上显示进度
谁能帮帮我...
我的代码:
var request = require('request');
var progress = require('request-progress');
var DOWNLOAD_DIR = '/usr/local/';
var file_name = 'googlenew.png'
//displays progress on download on console
var callback = function(state){
console.log('received size in bytes', state.received);
console.log('total size in bytes', state.total);
console.log('percent', state.percent);
}
progress(request('https://www.google.com/images/srpr/logo3w.png'), {
throttle:0,
delay: 0
})
.on('progress', callback)
.pipe(fs.createWriteStream(DOWNLOAD_DIR + file_name))
.on('error', function (err) {
console.log("error");
})
.on('close', function (err){
console.log("Download Complete");
})
【问题讨论】:
-
其实我试过不使用socket.io下载文件。现在我正在尝试使用socket.io实现。请检查我编辑的代码而不使用socket.io
-
使用此代码,我无法在浏览器中显示下载进度。所以,我打算使用socket.io实现
-
您是在浏览器中下载文件还是上传到 Node.js 服务器?
-
实际上,我正在尝试从浏览器下载文件,以便下载的文件将在 ubuntu 文件系统中。现在我正在尝试显示文件中的文件和目录列表系统以及状态。
-
我的网页的当前格式是这样的。现在尝试显示文件的下载状态,是否下载完成(或)没有。如果没有,显示文件下载的百分比浏览器