Tag: 亚马逊 s3

Amazon AWS错误:缺lessconfig node.js中的凭据

我刚刚开始使用AWS,我试图在这里使用他们的示例代码。 我正在使用dotenv来存储我的密钥作为环境variables。 使用咖啡脚本我的代码如下所示: require('dotenv').config() express = require 'express' router = express.Router() AWS = require('aws-sdk') AWS.config.region = 'us-west-2' s3bucket = new (AWS.S3)(params: Bucket: 'new-bucket-name') s3bucket.createBucket -> params = Key: process.env.AWS_ACCESS_KEY_ID Body: 'Hello!' s3bucket.upload params, (err, data) -> if err console.log 'Error uploading data: ', err else console.log 'Successfully uploaded data to myBucket/myKey' return return 但我不断收到以下错误: message: […]

S3 Nodejs TypeError:无法读取属性path' 未定义

我在Nodejs中实现这个function,将文件(照片,mp3,pdf)上传到amazon web servicess3。 目前正试图上传一个MP3文件,但我不断收到错误:“TypeError:无法读取未定义的属性”path“。 我正在使用Multipart middlemware。 var fs = require('fs'); //S3FS instance var S3FS = require('s3fs') //multiparty middleware (to upload our file)—-> S3FS will read it's object and stream it to AWS //nmp install connect-multiparty var multiparty = require('connect-multiparty'), multipartyMiddleware = multiparty(); var express = require('express'); var route = express.Router(); module.exports = route; route.use(multipartyMiddleware); //create […]

AWS S3通过浏览器直接下载文件

我正试图从S3直接在浏览器中下载一个文件。 我正在使用AWS Javascript SDK和NodeJS + Webpack。 我可以做一个GetObject请求,并可以在“开发人员工具”视图中看到浏览器(Chrome)下载字节。 我有“内容处置”标题在响应设置为: Content-Disposition:attachment; filename="A1.jpeg" 但是,我没有看到“另存为”对话框或正在我的文件系统(在下载文件夹)中创build的任何文件。 字节在哪里? 如何将数据保存在文件中? 这是我的代码: var getObject = function getObject(bucketName, fileName) { var params = { Bucket: bucketName, Key: fileName, ResponseContentDisposition: 'attachment; filename="' + fileName + '"' }; return s3.getObject(params).promise(); } getObject(BUCKET_NAME, item) .then( function (getFileResponse) { console.log(" file downloaded.. " ); } , function(error) { […]

在S3 API上使用multer上传图片返回undefined

我正在构build一个用于上传图像并将其直接存储在S3存储上的API。 要做到这一点,我使用Postman.Method是POST和inputtypes是file.When我使用req.files或req.file时,我得到未定义。 Utils.js: getS3SignUrl: function( uri ){ return s3_client.getSignedUrl('putObject',{Bucket:config.aws.bucket,Key:uri,ACL :"public-read"}) } 在主文件中我使用这些: var bodyParser = require('body-parser'); var upload = require('multer')(); var utils = require('../service/utils.js'); router.post('/edit-profile', upload.single('newfile'), function(req, res) { console.log(req.file); }); }); 在控制台中,我得到了未定义,但是当我使用debugging器和req.body,我得到这个: 所以,似乎我有这个需求,但是我怎么能从这里拿走呢?

Node.js上传到Amazon S3,但文件损坏

我通过我的CMS提交表单,其中包含图像和一些文本的文件select器。 代码运行&一个对象是在我的S3帐户创build正确的名称,但它是腐败的。 例如,我上传JPG图像,但是当我在s3仪表板中查看它们时,我只是看到一个黑屏。 任何帮助是极大的赞赏。 我的HTML表单: <form enctype="multipart/form-data" action="updateSchedule" method="POST"> <input type="file" name="schedulepicture" id="schedulepicture"> <textarea rows="4" cols="50" id="ScheduleText" name="ScheduleText" maxlength="2000"> <button type="submit" id="updateschedulebutton">Update</button> </form> 我的Node.JS脚本: router.post('/updateschedule', isLoggedIn, upload.single('schedulepicture'), function(req, res) { var scheduleImageToUpload; //Check if image was uploaded with the form & process it if (typeof req.file !== "undefined") { //Create Amazon S3 specific object var […]

简单的WebApp – 通过HTML / AWS Javascript SDK将file upload到S3

我只是开始我的开发过程,需要一些build议,如何处理我正在工作的一个简单的应用程序。 我对现代Web开发没有很好的理解。 我期望实现的是通过浏览器表单/ html表单将video或图像上传到Amazon S3。 理想情况下,我想利用AWS node.js SDK,但保持我的前端尽可能基本(即引导页面+ html更改)我承认我可以做一个直接的http操作,但仍然想利用现在的SDK。 我有我的HTML,窗体和CSS创build(使用引导),但不明白如何将表单连接到一个node.js脚本授权/ PUT? 我甚至可以从表单中去,并将文件传递给脚本上传? 感谢您的任何意见! :d

为正在上传到AWS S3的图像设置过期和caching控制标头

我正在使用名为node-s3-client的npm包,它是aws-sdk for Node.js的高级包装,将本地项目目录上传到S3存储桶。 使用该包,我将一些元数据传递给我的文件,即Expires和Cache-Control键值对。 我正在上传整个由HTML,JS,CSS,JPEG文件组成的目录。 但是,当我检查我的S3存储桶时,我设置的标题只适用于JS和CSS文件,这些标题不适用于图像。 我已经通过包和aws-sdk的文档,但我似乎无法find是什么原因导致有select地将我的元数据应用于某些文件而不适用于其他文件的问题。 这是我的configuration对象: const s3 = require('node-s3-client') const s3Config= { localDir: './dist', deleteRemoved: false, s3Params: { Bucket: 'cdn', Prefix: 'dist/', Metadata: { 'Cache-Control': 'max-age=31536000', 'Expires': oneYearLater(new Date()) } } } const client = s3.createClient({ s3Options: { accessKeyId: KEY_ID, secretAccessKey: ACCESS_KEY, signatureVersion: 'v4', region: 'us-east-2', s3DisableBodySigning: true } }) client.uploadDir(s3Config) 什么可能导致这个问题?

Heroku中的临时文件会发生什么(节点应用程序)

我有一个免费的Heroku帐户,我的Node应用程序使用Amazon S3来存储文件。 我使用s3fs模块和多方中间件一起暂时存储文件,然后上传到S3。 文件在fs上传和取消链接后,文件在本地开发期间仍然保留在本地临时文件夹中。 我已经在我的Heroku应用程序上部署了相同的代码,我担心如果有任何方法检查临时文件夹或每天删除它,因为该应用程序具有500MB的slug大小限制,上传的文件甚至可以超过100s的Mbs。

Cant的保存图像与awssum和nodejs亚马逊S3

我的节点js代码从我的服务器tmp.png打开一个本地png文件,然后尝试保存它的亚马逊S3。 我一直遇到问题,我怀疑它与编码有关。 它唯一的工作方式是与base64编码(我不想为我的照片)。 fs = require('fs'); var awssum = require('awssum'); var amazon = awssum.load('amazon/amazon'); var s3Service = awssum.load('amazon/s3'); var s3 = new s3Service('mykey', 'mysecret', 'account', amazon.US_WEST_1); fs.readFile('./tmp.png', function (err, data){ if(err){ console.log("There was an error opening the file"); } else { s3.PutObject({ BucketName : 'my-bucket', ObjectName : 'tmp.png', ContentType : 'image/png', ContentLength : data.length, Body […]

在Meteor中正确启用filepicker.io的安全性

Filepicker默认允许几乎每个人都可以将文件添加到您的S3存储桶中,这个存储组足够聪明,可以将您的API密钥从客户端代码中复制出来,幸运的是,还提供了一个安全选项,其中包含过期的策略。 但我不知道如何在Meteor.js中实现这一点。 试着来回安装meteor-crypto-base软件包,试图在服务器上生成哈希,在https://github.com/RGBboy/urlsafe-base64上试用了RGBboy的urlsafe-base64algorithm。 但是我只是没有进一步的了解。 也许有人可以帮忙! 先谢谢你。