Articles of 下载

我想创build一个下载button,但文件不下载?

我正在创build请求服务器下载文件的点击监听器的下载button 代码点击侦听器: downloadFileClick(event){ $.ajax('/download', {data:{}}).done(function(data){ }.bind(this)); } 在服务器端下面的代码正在运行 app.get('/download', function(req, res){ var file = __dirname + '/write/imageout.png'; res.download(file); }); 文件不在浏览器中下载。 我检查了从服务器发送给客户端的响应,它发送文件内容,但不从浏览器下载。

Node.js:服务dynamicpdf,空着

我有一个节点服务,从API获取pdf并提供该pdf。 当我curl或直接打开API,我看到正确的PDF。 但是,当我从我的节点应用程序服务,我得到一个空的PDF。 这是我的代码的PDF渲染的部分。 } else if (options.type === 'pdf') { res.writeHead(200, {'content-type' : 'application/pdf', 'content-disposition': 'attachment; filename=invoice.pdf'}); res.end(data.invoice); 我有console.log'ed data.invoice知道这是正确的东西。 typeof(data.invoice)给出string; 但我也试过res.end(new Buffer(data.invoice)); 哪个也没用 这里是我的代码提取数据的部分 var http_options = { method : options.method , host : Config.API.host , path : options.path , port : Config.API.port , headers : options.headers }; var req = http.request(http_options, function […]

如何使用json2csv创build后下载CSV文件

我正在使用json2csv节点模块生成一个CSV文件,其中的数据写得非常好。 这是我的代码与我的数据创build一个CSV文件。 Lead.find({ownerId:owner._id}, function(err, data){ if(err){res.json(err)} else{ res.json(data); var fields = ['lead', 'salutation', 'fname','lname','title','email','mobile','rating','address','city','state','zcode','company','industry','empSize','lsource']; var csv = json2csv({ data: data, fields: fields }); var path='./public/csv/file'+Date.now()+'.csv'; fs.writeFile(path, csv, function(err,data) { if (err) {throw err;} else{ console.log('file Created'); //I need to download above creating csv file here } }); } }); 所以,现在我想知道如何在生成csv后下载创build的CSV文件。 我试过res.setHeader('Content-disposition', 'attachment; filename=data.csv'); res.set('Content-Type', 'text/csv'); […]

如何加速node.js文件操作?

在我的项目中,客户端会请求从服务器下载一个带有ID的文件。 我必须执行以下操作: 从mongoDbvalidationID 检查扩展名 检查文件是否存在 阅读文件并将内容写入回复 我正在使用下面的代码来检查文件并发送响应。 fs.exists(filename, function(exists) { if (!exists) { res.writeHead(404, '', { "Content-Type" : "text/plain" }) res.write("404 Not Found\n"); res.end(); return; } fs.readFile(filename, "binary", function(err, file) { if (err) { res.writeHead(500, '', { "Content-Type" : "text/plain" }) res.write(err + "\n"); res.end(); return; } res.setHeader("Pragma", "public"); res.setHeader("Cache-Control: private, max-age=3600"); res.setHeader("Transfer-Encoding: chunked"); res.setHeader("Range: […]

Node.js下载多个文件

我需要从url下载多个文件。 我已经在文件中列出了他们的名单。 我该怎么做? 我已经做到了,但是不起作用。 我需要保持直到最后一次下载完成,然后才开始下一个wan。 我怎样才能做到这一点?

将冗长的数据下载为CSV文件

我需要将视图中显示的表格的内容作为CSV文件下载。 我有代码正确格式化表的内容,以便它可以存储为一个.csv文件(例如,列分隔符是一个逗号,表中的每个logging是在一个新的行)。 所以,在我的控制器中,我有以下代码: window.location.href = '/download?data=' + encodeURIComponent($scope.csvString); 我正在使用NodeJs的服务器部分。 在这里,我有以下路由处理程序: app.get('/download', function (req, res) { var data = req.query.data; res.attachment('data.csv'); res.setHeader('Content-Type', 'text/csv'); res.end(data); }); 这工作得很好。 下载工作和下载的文件中的数据是完美的CSV格式。 没有问题。 当表中logging太多时,即数据量巨大时,就会出现问题。 由于这一点,查询参数是非常巨大的,我认为它超过了限制,因此,GET请求返回一个400(错误请求)错误 – 请注意,根据我的分析,请求永远不会到达服务器,而是我观察到请求使用Chrome开发者工具失败。 在浏览器中,URL只是www.my_domain.com/download?data=the_lengthy_data 。 而已。 网页空白/空白,并且没有文件被下载。 因此,我想知道如何下载冗长的数据? 我遇到的所有示例都执行GET请求,因此我必须将冗长的数据作为查询parameter passing。 还有其他的方法吗?

使用循环下载许多文件时,Nodejs丢失了数据

今天,我试图从我的服务器下载许多文件 download.js function getPhotos(req, res) { //Get User Photos var fileReader = fs.readFile('./../data/user.json', 'utf8', function(err, data) { if (err) console.log(err); else { var dataJson = JSON.parse(data); //console.log(dataJson.Person); for (var i = 0; i < dataJson.Person.length; i++) { var options = { host : '10.16.47.128', // Local Server IPAddress port : 2013, //Port path : '/ExternalServer/avatar/' […]

使用下载pipe理器取消下载时,Nodejs内存泄漏

我使用Expressjs 3和Nodejs 0.10创build了一个简单的文件下载器 function download(req, res, filepath, filename){ res.header('Content-Type', 'application/force-download'); res.header('Content-Type', 'application/octet-stream'); res.attachment(filename); res.download(filepath, filename); } 一切正常,但是当我使用下载pipe理器(例如Internet Download Manager)testing应用程序时,当我放弃或取消下载(在下载之前或下载期间)时,会发出警告: Trace at Socket.EventEmitter.addListener (events.js:160:15) at Socket.Readable.on (_stream_readable.js:653:33) at Socket.EventEmitter.once (events.js:179:8) at TCP.onread (net.js:512:26) (node) warning: <b>possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.</b> 如何在中止文件下载后删除监听器?

在node.js上提供可下载的文件

我看到处处都找不到解决scheme。 我正在使用node.js构build一个文件托pipe服务器。 我想使用经过身份validation的会话/令牌来允许用户访问可下载的文件。 只要会话/令牌有效,我就希望下载可以恢复。 无效的会话/令牌将需要重新开始下载。 我不知道什么npm插件使用或从哪里开始。 我正在考虑使用简单的HTTP请求客户端 任何想法,链接任何将不胜感激。

从node.js发送PDF,docx等文件

我试图发送用户使用AngularJS在客户端请求的文件的内容。 这是我从节点发送文件的方式: res.download(filePath, req.param('fileName')); 这就是我如何阅读和保存Angular的文件: $http.get('/attachment/' + req.fileName, {responseType: 'arraybuffer'}).success(function (data, status, headers, config) { var element = angular.element('<a/>'); var file = ''; var bytes = new Uint8Array(data); for (var i = 0; i < bytes.byteLength; i++) { file += String.fromCharCode(bytes[i]); } element.attr({ href: 'data:application/force-download,' + encodeURI(file), target: '_blank', download: fileName })[0].click(); }); 它似乎工作,但只为琐碎的文件(TXT,CSV等),但在请求PDF客户端获取具有适当的页数的文件,但所有页面是空白的。 我想这一定是内容编码有问题。 […]