Tag: 下载

将冗长的数据下载为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客户端获取具有适当的页数的文件,但所有页面是空白的。 我想这一定是内容编码有问题。 […]

如何在Parse Cloud Code中解压zip文件?

我在我的Parse Cloud代码 – Express.js应用程序中需要从网站下载zip文件 – 链接到NSE India的股票下载。 一旦文件被下载,我需要解压缩并读取其中的CSV文件。 在Parse Cloud代码中,这个任务似乎是不可能的,因为我们只能从网站下载JSON或URL编码的数据 。 我正在研究Parse,Express – Node.js应用程序。 我也试过包含节点模块来解压缩zip文件,但似乎有很多依赖性问题。 请帮我一下 在此先感谢,Sudheesh厘米

把二进制数据,并保存为一个.mp3文件的Javascript

所以我有一个Node.js脚本和一个Javascript文件相互通信,除了Node.js应该返回一个.mp3文件的数据。 数据是二进制的,它看起来像胡言乱语,我将如何把它返回的数据,并允许用户使用JavaScript下载它的网页? http.responseText ,它使用http.responseText获取数据。 Node.js代码 //initilization var querystring = require('querystring'); var http = require('http'); var url = require('url'); var fileSystem = require('fs'); var path = require('path'); var util = require('util'); //convert function function convert(voiceToUse, textToConvert, response) { console.log("Sending Convert Request…"); //data to send as a query var data = querystring.stringify( { username: 'user', password: 'pass', […]

基于文件下载的进度条

我将如何显示一个基于节点webkit中下载的文件的进度条? var https = require('https'); var fs = require('fs'); var exec = require('child_process').exec; var file = fs.createWriteStream("update_setup.exe"); var len = 0; var request = https.get(url + 'appdata/update_setup.exe', function (response) { response.pipe(file); response.on('data', function (chunk) { file.write(chunk); len += chunk.length; var percent = (len / response.headers['content-length']) * 100; }); file.on('finish', function () { setTimeout(function () { […]

量angular器:步骤不是一一执行

为什么量angular器不是一个接一个的? 代码示例: browser.get('http://mywebpage.com'); element(by.css('[ng-click="fileCtrl.saveFile()"]')).click(); var today = new Date(); var todayPlus = new Date(); while(todayPlus.valueOf()<today.valueOf()+7000){ todayPlus = new Date(); } browser.driver.sleep(2000); var fs = require('fs'); var util = require('util'); var c = fs.exists('C:\\Users\\volodymyr.nabok\\Downloads\\file.txt', function(ex){ util.debug(ex ? "Yes." : "No-p"); }); 在我的情况下,量angular器首先检查'file.txt'是否存在然后下载它。 正如你看到我试图冻结脚本7秒,并冻结浏览器2秒,但没有帮助。

节点/expression强制浏览器下载具有自定义名称的文件

我为我的大学项目build立了一个节点/快递网站,在search到一个法律ID后,它会显示一个大表格,其中包含与此ID相关的所有文件格式和语言。 我使用模块“ http-proxy ”向客户端请求并提供这些文件。 当提供XML,XHTML,HTML和PDF文件(每个浏览器都能够直接查看它们)时没有任何错误。 我有.zip和.rdf文件的问题。 文件没有损坏,但他们失去了原来的名字 当我点击ZIP图标,它给我的下载提示,但我失去了原来的文件名(该文件将被称为“代理”或“proxy.zip”,在不同的浏览器上的不同行为) 当我点击RDF图标时,一些浏览器直接在浏览器中打开文件,一些浏览器不会识别格式,一些浏览器想用名称“proxy”来下载它) 所以我发现标签“a”的HTML5属性“下载”。 它只是解决了我的问题,无论如何它不支持每个版本的Internet Explorer和Safari。 浏览网页时,我发现一些解决方法,当在IE或Safari浏览器中查看页面时,在div链接之后添加“右键单击并另存为…”,但此解决scheme不适用于我,因为我不是在谈论单个链接,但一个表格链接。 而我的网站也需要在手机上工作。 有什么办法来写一些服务器端的代码来强制浏览器下载文件的自定义文件名? 这是代理的一小段代码: var httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({ ignorePath: true }); app.get('/proxy', function(req , res) { var file = req.query.file; var realurl = 'http://'+cfg.edb_opt.host+':'+cfg.edb_opt.port+cfg.edb_opt.rest+file; console.log('Proxy: serving '+realurl); proxy.web(req, res, { 'target': realurl }); }); 所有cfg *variables都来自jsonconfiguration文件,以设置包含文件的主机,端口和起始path。 提前致谢 :)