【发布时间】:2016-12-03 04:48:35
【问题描述】:
我刚刚使用sails 和skipper-3 将文件上传到AWS S3,它运行良好。现在,如何使用 Sails 在 AWS S3 中删除文件?
当我上传存储在数据库中的文件时,将 URL 指向 AWS S3。
【问题讨论】:
标签: amazon-web-services amazon-s3 sails.js sails-skipper
我刚刚使用sails 和skipper-3 将文件上传到AWS S3,它运行良好。现在,如何使用 Sails 在 AWS S3 中删除文件?
当我上传存储在数据库中的文件时,将 URL 指向 AWS S3。
【问题讨论】:
标签: amazon-web-services amazon-s3 sails.js sails-skipper
skipper-s3 已经包含读取、列出或删除文件的功能。
我正在使用下面的代码从 AWS S3 中删除一些文件。你可以这样使用它:
var skipper = require('skipper-s3')({key: KEY,secret: SECRET,bucket: BUCKET});
skipper.rm(imageName,function(){});
查看source code上的模块功能
【讨论】:
您可以直接使用 AWS-SDK,也可以使用npm 提供的众多包装器之一。
基于 Amazon documentation,您将拥有如下内容:
s3.deleteObject(params, function(err, data) {
if (err) console.log(err, err.stack); // error
else console.log(); // deleted
});
paramsshall 保存参数为bucket、credentials、region、path。请参阅Amazon nodejs examples 的示例。
而且,您当然可以使用 AWS 开发工具包上传文件并在 Sails 中使用其他 AWS 服务。
here 也回答了您的问题。
【讨论】:
一次删除单个图像首先,安装:
npm install --save aws-sdk
现在编写以下代码:
var AWS = require("aws-sdk");
var s3 = new AWS.S3();
s3.config.update({
accessKeyId: "your aws key",
secretAccessKey: "your aws secret key"
});
s3.config.region = "your aws bucket region";
var params = {
Bucket: "Bucket name",
Key: "image name"
};
s3.deleteObject(params, function(err, data) {
if (err) console.log(err, err.stack);
// an error occurred
console.log(data, "tttttttttttt"); // successful response
});
【讨论】: