小编gba*_*hik的帖子

NodeJS如何从aws s3存储桶将文件下载到磁盘?

我的目标:

显示一个对话框,提示用户保存从aws下载的文件.

我的问题:

我目前正在使用awssum-amazon-s3来创建下载流.但是我只是设法将文件保存到我的服务器或将其流式传输到命令行......正如您从我的代码中看到的,我最后的尝试是尝试手动设置失败的内容处置标头.我不能使用res.download(),因为标题已经设置好了?

我怎样才能实现目标?

我的节点代码:

app.post('/dls/:dlKey', function(req, res, next){
        // download the file via aws s3 here
        var dlKey = req.param('dlKey');

        Dl.findOne({key:dlKey}, function(err, dl){
            if (err) return next(err);
            var files = dl.dlFile;

            var options = {
                BucketName    : 'xxxx',
                ObjectName    : files,
            };

            s3.GetObject(options, { stream : true }, function(err, data) {
                // stream this file to stdout
                fmt.sep();
                data.Headers['Content-Disposition'] = 'attachment';
                console.log(data.Headers);
                data.Stream.pipe(fs.createWriteStream('test.pdf'));
                data.Stream.on('end', function() {
                    console.log('File Downloaded!');
                });
            });
        });

        res.end('Successful Download Post!');
    });
Run Code Online (Sandbox Code Playgroud)

我的角度代码:

$scope.dlComplete = …
Run Code Online (Sandbox Code Playgroud)

disk download amazon-s3 amazon-web-services node.js

30
推荐指数
6
解决办法
5万
查看次数

Node/Express生成一次性路由/链接/下载?

我如何在nodeJS或Express中创建一次性下载链接?

我正在努力找到实现这一目标的最简单方法.我到目前为止的想法是:

使用fs流读取然后删除文件或以某种方式生成一个单击下载按钮后删除的链接/路由

这些实现是否可行?有更简单的方法吗?

任何帮助或示例代码将不胜感激!

-谢谢

javascript download node.js express

6
推荐指数
1
解决办法
5332
查看次数

如何使用请求库和Bluebird发送帖子请求?

所以继承我的设置:

var Promise = require("bluebird");
var request = Promise.promisify(require('request'));
Run Code Online (Sandbox Code Playgroud)

这有效:

request('url')
Run Code Online (Sandbox Code Playgroud)

它返回一个承诺

这不是:

request.post('url', {form: {type: 'artist'}})
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

TypeError: Object function promisified(_arg0,_arg1) { ... }has no method 'post'
at /Users/beamer30/projects/wevo/controllers/music.js:85:30
at Array.map (native)
at MusicSearch.spotifyRelated (/Users/beamer30/projects/wevo/controllers/music.js:84:22)
at MusicSearch.findRelatedArtists (/Users/beamer30/projects/wevo/controllers/music.js:48:7)
at musicController.search (/Users/beamer30/projects/wevo/controllers/music.js:100:17)
at Layer.handle [as handle_request] (/Users/beamer30/projects/wevo/node_modules/express/lib/router/layer.js:76:5)
at next (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:100:13)
at Route.dispatch (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:81:3)
at Layer.handle [as handle_request] (/Users/beamer30/projects/wevo/node_modules/express/lib/router/layer.js:76:5)
at /Users/beamer30/projects/wevo/node_modules/express/lib/router/index.js:227:24
Run Code Online (Sandbox Code Playgroud)

关于如何使这项工作的任何想法?这样做的正确方法是什么?

javascript request node.js promise bluebird

5
推荐指数
1
解决办法
2030
查看次数

什么时候适合使用 setTimeout 和 Cron?

我正在构建一个使用 mongo 数据库的 Meteor 应用程序。

我有一个集合,可能有数千个文档需要在不同时间更新。

我是在创建时运行 setTimeouts 还是每秒运行一次并循环遍历每个文档的 cron 作业?

每种做法的优点和缺点是什么?

将此放在上下文中:

我正在构建一个在线锦标赛系统。我可以举办 100 场锦标赛,这意味着我可以举办 1000 场比赛。

每场比赛都需要绝对在特定时间结束,并且可以在一定条件下提前结束。

javascript cron settimeout node.js meteor

5
推荐指数
1
解决办法
5688
查看次数

如何按修改日期对CloudKit结果进行排序?

我正在尝试按修改日期订购搜索结果.如果我想通过creationDate做到:

query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
Run Code Online (Sandbox Code Playgroud)

修改日期的关键是什么?所有NSSortDescriptor键列表或找到它们的方法都非常有用.

sorting ios swift cloudkit

5
推荐指数
1
解决办法
1309
查看次数

React 样式 prop 为数组返回 [object object]?

我有这个非常基本的组件:

Tile = React.createClass({
    render: function(){
        var styles = [
            TileStyles.tile
        ];
        return (
            <div style={styles} test="test" />
        );
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,它正在生成这个 html:

<div style="0:[object Object];" data-reactid=".0.$0"></div>
Run Code Online (Sandbox Code Playgroud)

为什么它给我 [object object] 而不是内联样式?显然我不需要在这里使用数组,但我在更复杂的组件上使用。

我究竟做错了什么?

更新:感谢大家的回答,但问题是我希望能够使用多种样式。

也就是在某些情况下使用 TileStyles.tile 和 TileStyles.active。

javascript inline-styles reactjs

3
推荐指数
1
解决办法
8936
查看次数

Javascript无法访问对象键值......它们周围有引号

所以我需要访问此对象中的键值"key":

{
  "__v": 0,
  "_id": "5317b71c902ff0080046349f",
  "user": "530ef48599c41200009bad9f",
  "email": "asdfa@sdgdf.com",
  "btcId": "9HjBb9eUhyXMKuVxSrTSkg",
  "name": "Bitcoin Payments",
  "dlFile": "a43ca076-4802-4cca-9648-82b2569ffc60.docx",
  "key": "3518d5ce-badf-495c-a08f-dc28bb6d8a64",
  "created": "2014-03-05T23:45:32.480Z"
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码不起作用:

console.log(body.key) -> Undefined
console.log(body['key'] -> undefined
console.log(body['"key"'] -> undefined
Run Code Online (Sandbox Code Playgroud)

body是存储对象的位置.

我认为它与键的字符串有关?或者在他们周围有""?但是我没有创建body变量,所以我无法控制它...

有关如何使其工作的任何想法?

javascript string variables key object

1
推荐指数
1
解决办法
2729
查看次数

这件PHP有什么作用?(密码解密)

可能重复:
我可以md5(sha1(密码))?

$pass = md5($_POST["pass"].sha1($_POST["pass"]))
Run Code Online (Sandbox Code Playgroud)

我在某个地方看到这个并且感到困惑.这是否读取密码并使用sha1然后md5或反向解密?还是有一些我遗失的东西?

php encryption passwords md5 sha1

0
推荐指数
2
解决办法
174
查看次数