2017-11-22 4 views
0

私のMeteorアプリケーションから、私はs3バケットに画像をアップロードできますが、今は削除したいと思います。s3のファイルを削除する方法:Meteorとaws-sdk

import AWS from 'aws-sdk; 

そして、このコード::私はAWS-SDKを使用しています、それを行うには

TypeError: stream.setTimeout is not a function 
    at features.constructor.handleRequest (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:178932) 
    at executeSend (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174057) 
    at Request.SEND (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174071) 
    at Request.callListeners (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:173612) 
    at Request.emit (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:173588) 
    at Request.emit (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175024) 
    at Request.transition (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174363) 
    at AcceptorStateMachine.runTo (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175171) 
    at modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:175183 
    at Request.<anonymous> (modules.js?hash=4f9d58166294ad7d39d307939c58d106525401c5:174379) 

私は「ドン:私はこのエラーメッセージが表示されます働いていない

AWS.config.update({ 
     accessKeyId: accessKeyId, 
     secretAccessKey: secretAccessKey, 
     region: region 
     }); 

    let s3 = new AWS.S3(); 

    let params = { 
    Bucket: 'aaaa', // bucket 'name' 
    Key: 'images/qqwd468767-9awdw' // 'path/imageKey' 
    }; 

    console.log(params); // {Bucket: 'aaaa', Key: images/qqwd468767-9awdw } 

    Meteor.wrapAsync(
    s3.deleteObject(params, function (error, data) { 
     if (error) { 
     console.log(error); 
     } else { 
     console.log(data); 
     } 
    }) 
    ); 

流星や私のコードのためにそれがある場合は取得しないでください。私はCORSの設定を追加しようとしました:<AllowedMethod>DELETE</AllowedMethod>削除を許可するのは理にかなっていますが、まだ動作していないからです。

答えて

0

ねえファイル

delete_s3: function(key) { 
    const AWS = require('aws-sdk'); 
    AWS.config.update({accessKeyId: Meteor.settings.private.s3.AccessKey, secretAccessKey: Meteor.settings.private.s3.SecretKey, region: Meteor.settings.private.s3.region}); 
    var s3 = new AWS.S3(); 
    var params = { 
     Bucket: Meteor.settings.private.s3.bucket, 
     Key: key 
    }; 
    var deleteObject = Meteor.wrapAsync(s3.deleteObject(params, function(error, data) { 
     if (error) { 
     console.log(error); 
     } else { 
     console.log(data); 
     } 
    })); } 
を削除するには、この流星の方法を試してみてください
関連する問題