【发布时间】:2026-01-26 02:00:01
【问题描述】:
代码如下:
我正在使用 findit walker,文档在这里 -> https://github.com/substack/node-findit
通过这个包,我列出了我的应用程序的所有目录和文件,并且我试图发送到我在 Amazon S3 上的存储桶(使用我自己的代码)。
我不确定代码是否正确,也不知道需要在 Body 中的 params 对象中添加什么。
这部分正在监听我应用的所有目录:
finder.on('directory', function (dir, stat, stop) {
var base = path.basename(dir);
if (base === '.git' || base === 'node_modules' || base === 'bower_components') {
stop();
}
else {
console.log(dir + '/');
}
});
而这个正在监听我的应用程序的所有文件:
finder.on('file', function (file, stat) {
console.log(file);
});
我更新了它以将数据发送到我的存储桶,如下所示:
finder.on('file', function (file, stat) {
console.log(file);
var params = {
Bucket: BUCKET_NAME,
Key: file,
//Body:
};
//console.log(params.body);
s3.putObject(params, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Success!");
}
});
});
我真的不知道我需要在 Body 中放什么,也不知道代码是否正确。谁能帮帮我?
谢谢。
帮助,所有代码,所有代码:
var fs = require('fs');
var finder = require('findit')(process.argv[2] || '.');
var path = require('path');
var aws = require('aws-sdk');
var s3 = new aws.S3();
aws.config.loadFromPath('./AwsConfig.json');
var BUCKET_NAME = 'test-dev-2';
finder.on('directory', function (dir, stat, stop) {
var base = path.basename(dir);
if (base === '.git' || base === 'node_modules' || base === 'bower_components') {
stop();
}
else {
console.log(dir + '/');
}
});
finder.on('file', function (file, stat) {
console.log(file);
var params = {
Bucket: BUCKET_NAME,
Key: file,
//Body:
};
//console.log(params.body);
s3.putObject(params, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Success");
}
});
});
finder.on('error', function (err) {
console.log(err);
});
finder.on('end', function () {
console.log('Done!');
});
【问题讨论】:
-
请将代码的相关部分直接复制并粘贴到问题中,而不是发布它的图像。我们不能对图像做太多事情。
-
对不起,我认为整个代码的图片会更好,只需第二个@MikeS。
-
没问题。人们通常会复制您的部分或全部代码并尝试重现问题以确定您的问题的最佳答案是什么。一张图片可不容易:)
-
我觉得现在看起来好多了@MikeS :D
-
这样好多了:)
标签: node.js amazon-web-services amazon-s3