Node.js nodejs';请求模块没有';我不能成批地给出答复
我需要使用nodejs从服务器下载文件 下面是我下载文件的代码 test.jsNode.js nodejs';请求模块没有';我不能成批地给出答复,node.js,request,browserify,node-modules,chunks,Node.js,Request,Browserify,Node Modules,Chunks,我需要使用nodejs从服务器下载文件 下面是我下载文件的代码 test.js function downloadFile() { var fsModule = 'fs'; var fs = require(fsModule); var request = require('request'); var deferred = $q.defer(); var downloadRequest = request.get({ e
function downloadFile() {
var fsModule = 'fs';
var fs = require(fsModule);
var request = require('request');
var deferred = $q.defer();
var downloadRequest = request.get({
encoding: null,
url: 'https://test.com/api/assets/35007/raw',
headers: {
'Authorization': 'Basic AuthorizationValue'
}
});
downloadRequest.addListener('response', function (response) {
if (response.statusCode != 200) {
console.log('Error in downloading file');
deferred.resolve(false);
} else {
var options = {defaultEncoding: 'binary'};
var writeStream = fs.createWriteStream('c:/testDownloadFile.mp4', options);
response.addListener('data', function (chunk) {
console.log('chunk length - ',chunk.length);
writeStream.write(chunk);
});
response.addListener("end", function() {
writeStream.end();
console.log('No error in download and resolved true');
deferred.resolve(true);
});
}
});
}
downloadFile();
我可以使用node by below命令成功地运行这段代码,它以块的形式给出响应。所以这段代码没有内存问题
node test.js
但当我在浏览器中使用browserify运行这段代码时,它不会给出成片的响应。因此,它为大文件创建了一个问题
browserify:^12.0.0browserify使用的“http”与nodejs使用的模块不同,它在客户端运行时由脚本修改。此外,浏览器以不同的方式处理请求
因此,修改后的“http”或浏览器可能会缓存您的块并将它们放在一起。只是一个简短的建议,说明它的价值。。。在您的测试环境中,缓存中是否有在浏览器中测试时未使用的模块。我提出这个建议是因为没有对q模块的要求
问候谢谢回复,但代码没有任何CORS错误。我也可以下载文件,但不能分块下载。@NIravModi我太粗心了。。。我已经更新了。我认为答案可以在“http”模块和“请求”模块中找到。