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);
});
};
私はこの作業を(まだ)行う方法がわかりません。Amazon S3ファイルを削除するには/ nodejs/angular
最初は「no config」というエラーが出ていたので、上記の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.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