var awsSdk = require('aws-sdk');
awsSdk.config = {
"accessKeyId": "key",
"secretAccessKey": "secret",
"region": "us-east-1"
}
var s3 = new awsSdk.S3({
accessKeyId: 'key',
secretAcessKey: 'secret'
});
exports.awsDelete = function(req, res){
s3.deleteObject({
Bucket: 'bucket',
Key: req.body.photo
}, function(err,data){
if (err) console.log('delete err', err);
console.log(data);
});
};
我想不出如何使這項工作(還)。如何刪除亞馬遜s3文件瓦特/節點/角
最初,我得到一個「無配置」的錯誤,所以我添加了上面的awsSdk.config json。現在,它只是掛起/暫停,沒有錯誤。我在req.body.photo中獲得了預期的關鍵字。
我的直覺是,我在缺少我的配置東西..
我缺少/搞砸了?
更新 我添加的代碼下面的建議,但仍然沒有運氣。我將展示如何我通過我的參數:
更新的代碼從下面的回答:
'use strict';
var aws = require('./aws');
var amazon = require('aws-sdk');
amazon.config = new amazon.Config();
amazon.config.accessKeyId = aws.key;
amazon.config.secretAccessKey = aws.secret;
amazon.config.region = aws.region;
var s3 = new amazon.S3();
exports.awsDelete = function(req, res){
var params = {
Bucket: aws.bucket,
Key: res.body.photo
};
s3.deleteObject(params, function(err, data) {
if (err) console.log(err)
else console.log("Successfully deleted myBucket/myKey");
});
};
路線:
app.post('/awsDelete', uploads.awsDelete);
前端角:
工廠:
angular.module('clientApp').factory('Uploads', function($http) {
return {
delete: function(data){
console.log('delete fired');
return $http.post('/awsDelete', data);
}
};
});
angular控制器:
angular.module('clientApp').controller('Distiller-editCtrl', function(Uploads){
$scope.item = {}
$scope.delete = function(){
Uploads.delete($scope.item).then(function(res){
console.log(res)
});
};
});
看來,這 '樣的作品'。但有些東西需要很長時間:
POST /awsDelete 200 120007ms
如果我刷新頁面,導致它也成功刪除它。 有沒有人注意到我的代碼中可能會導致如此長的響應時間。
而且,沒有得到「成功完成」的console.log
有類似的問題.. – someoneHere