Tag: amazon s3

没有存储在S3存储桶中的图像

我使用s3 multer模块将用户上传的图像文件直接上传到我的存储桶中。 该应用程序显示,更新成功,但我看不到我的文件桶。 上传文件后的页面以上传成功响应。 下面是我使用的app.js文件和index.html,这是从github回购分支人说它的工作,但我的工作,请告诉我错误? 我在我的本地主机上运行这个。 码: aws = require('aws-sdk'), var express = require('express'), bodyParser = require('body-parser'), multer = require('multer'), s3 = require('multer-s3'); aws.config.update({ secretAccessKey:'XXXXX', accessKeyId:'YYYYY', region: 'us-west-2'}); var app = express(); app.use(bodyParser.json()); var upload = multer({ storage: s3({ dirname: '/profilepics', bucket: 'XXXX', secretAccessKey:'YYYY', accessKeyId:'TYYYYYY', region: 'us-west-2', filename: function (req, file, cb) { cb(null, "1234"); […]

如何在multer-S3中为AWS-S3存储桶指定上传目录?

我正在使用express + multer-s3将file upload到AWS S3服务。 使用下面的代码,我能够上传文件到S3 Bucket,但直接在存储桶中。 我希望他们能够上传到存储桶中的文件夹中。 我无法find这样做的select。 这是代码 AWS.config.loadFromPath("path-to-credentials.json"); var s3 = new AWS.S3(); var cloudStorage = multerS3({ s3: s3, bucket: "sample_bucket_name", contentType: multerS3.AUTO_CONTENT_TYPE, metadata: function(request, file, ab_callback) { ab_callback(null, {fieldname: file.fieldname}); }, key: function(request, file, ab_callback) { var newFileName = Date.now() + "-" + file.originalname; ab_callback(null, newFileName); }, }); var upload = […]

上传文件stream到S3没有文件和内存

我试图从一个string创build一个csv并将其上传到我的S3存储桶。 我不想写一个文件。 我希望这一切都在记忆中。 我不想从文件中读取我的stream。 我想用文件做一个stream。 我想这个方法createReadStream ,而不是一个文件,我想传递一个string与我的stream的内容。 var AWS = require('aws-sdk'), zlib = require('zlib'), fs = require('fs'); s3Stream = require('s3-upload-stream')(new AWS.S3()), // Set the client to be used for the upload. AWS.config.loadFromPath('./config.json'); // Create the streams var read = fs.createReadStream('/path/to/a/file'); var upload = s3Stream.upload({ "Bucket": "bucket-name", "Key": "key-name" }); // Handle errors. upload.on('error', function (error) […]

节点expressionaws s3.listBuckets在页面呈现后执行callback

列表带有callback的桶: router.get('/', function(request,response) { s3.listBuckets(function(error, data) { if (error) { console.log(error); } else { console.log(data.Buckets[0].Name);//since i have only one bucket bucket = data.Buckets[0].name; } }); response.render('index', { mybucket:bucket }); console.log("rendered page"); }); 输出: rendered page //rendered page with mybucket:'' empty GET /getbucket 200 7.827 ms – 787 lvresults //bucketname displayed after rendering in console bucketname只能在页面呈现后访问

MalformedXML:您提供的XML格式不正确,或者没有针对我们发布的模式进行validation

在使用AWS S3时,我遇到了这个奇怪的问题。 我正在处理可以将图像存储到AWS存储桶的应用程序。 使用Multer作为中间件和S3FS库来连接并上传到AWS。 但是当我尝试上传内容时popup下面的错误。 “MalformedXML:你提供的XML格式不正确,或者没有对我们的publis hed schema进行validation” Index.js var express = require('express'); var router = express(); var multer = require('multer'); var fs = require('fs'); var S3FS = require('s3fs'); var upload = multer({ dest: 'uploads' }) var S3fsImpl = new S3FS('bucket-name', { region: 'us-east-1', accessKeyId: 'XXXXXXXXXXXX', secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }); /* GET home page. */ router.get('/', […]

得到亚马逊S3发送file uploadhttp请求

当我的S3存储桶上传一个文件时,我需要我的nodejs应用程序接收带有文件名的http请求。 我想就最简单/直接的方式来达成这个build议。 到目前为止,我看到3种方法可以做到这一点,但是我觉得我已经推翻了这个,而且肯定有更好的select: 1 /在s3上传文件 – > S3向SNS发送通知 – > SNS向我的应用程序发送一个http请求 2 /在s3上传的文件 – > lambda函数被触发,并向我的应用程序发送一个http请求 3 /让我的应用程序定期观看存储桶,并在file upload时做一些事情 谢谢 PS。 是的,我真的是新的亚马逊服务:)

node.js knox教程 – 如何用node.js上传文件

如何使用knox上传带有node.js的文件? https://github.com/LearnBoost/knox 上传到node.js的完整代码是什么,从路由到用knox上传? 我认为那里的文档只涵盖了他们把它放到s3上的部分。 举例: fs.readFile('Readme.md', function(err, buf){ var req = client.put('/test/Readme.md', { 'Content-Length': buf.length , 'Content-Type': 'text/plain' }); req.on('response', function(res){ if (200 == res.statusCode) { console.log('saved to %s', req.url); } }); req.end(buf); }); 但Readme.md从哪里来? 谢谢。

上传S3 knox节点js(签名不匹配)

我已经尝试了很多天,现在使用knox和node js将文件(message.txt)上传到aws s3。 我一直有一个签名不匹配错误。 我的代码在节点js(上传不工作,所以我只是想做一个get): var client = knox.createClient({ key: 'myAWSkey' , secret: 'mySecretKey' , bucket: 'mybucket' , endpoint: 'mybucket.s3-eu-west-1.amazonaws.com' }); client.get('/').on('response', function(res){ console.log(res.statusCode); console.log(res.headers); res.setEncoding('utf8'); res.on('data', function(chunk){ console.log(chunk); }); }).end(); 我也试过亚马逊比较testing签名与许多不同的方法,如这个: HTML和Python版本 没有任何工作对我来说,我可能有点迷失在这个过程中…如果有人可以给我一些大的行来指导我和/或一个脚本生成正确的签名在javascript /节点js我将非常感激。

覆盖低级别的node.js模块

Amazon S3允许静态网站托pipe,但要求存储桶名称必须与您的域名匹配。 这意味着您的存储桶名称将如下所示:mydomain.com。 Amazon S3还为* .s3.amazonaws.com提供通配符SSL证书。 根据TLS的规定,这意味着com.s3.amazonaws.com是由证书覆盖,但mybucket.com.s3.amazonaws.com不是。 像Knox这样的连接到* .com.s3.amazonaws.com的节点应用程序应该能够信任该证书,即使它打破了TLS的规则,因为knox库是一个“封闭的系统”:它只能连接到亚马逊物业。 Node模块https依赖于tls.js ,而tls.js具有这个function: function checkServerIdentity(host, cert) { … // "The client SHOULD NOT attempt to match a presented identifier in // which the wildcard character comprises a label other than the // left-most label (eg, do not match bar.*.example.net)." // RFC6125 if (!wildcards && /*/.test(host) || /[.*].**/.test(host) […]

AWS node.js没有创buildS3存储桶?

我正在尝试使用基本教程创build一个S3存储桶,如下所示 var AWS = require('aws-sdk'); AWS.config.loadFromPath('./myawsconfig.json'); AWS.config.update({region: 'eu-west-1'}); var s3 = new AWS.S3(); s3.client.createBucket({Bucket: 'pBucket'}, function() { var data = {Bucket: 'pBucket', Key: 'myKey', Body: 'Hello!'}; s3.client.putObject(data, function(err, data) { if (err) { console.log("Error uploading data: ", err); } else { console.log("Successfully uploaded data to myBucket/myKey"); } }); }); 但是我收到以下错误 node createbucket.js Error uploading data: […]