2017-08-16 12 views
0

この流星パッケージでamazon s3に画像をアップロードしました https://github.com/Lepozepo/S3これでファイルを削除しようとしましたが、エラーが発生しています。Meteor Amazon s3画像を削除する

これはs3.deleteコードのドキュメント

S3.delete(パス、コールバック)

この機能は永久にあなたのS3バケット内のファイルを破壊しています。

パラメータ:

パス:このフォーマット( "/folder/other_folder/file.extension")である必要があります。 したがって、基本的には常に「/」で始まり、「/」で終わることはありません。これは が必要です。

コールバック:削除操作 の後に実行される関数で、最初のパラメータ( がある場合)としてエラーを返し、2番目の結果としてResultを返します。

は、これは私のアップロードや削除コード

Template.postSubmit.events({ 
    "click button.upload": function(){ 
     var files = $("input.file_bag")[0].files 

     S3.upload({ 
       files:files, 
       path:"uploads" 
      },function(e,r){ 
       console.log(r); 

     delete_url = r.relative_url; 

     console.log(delete_url); 
     }); 
    }, 
    "click button.delete": function(){ 

    S3.delete({ 
     path:delete_url 
     },function(e,r){ 
     console.log(e); 
     console.log(r); 
    }); 


    } 
}); 

削除ボタンを押すときに私が取得エラーです。

errorClass {isClientSafe: true, error: 400, reason: "Match failed", details: undefined, message: "Match failed [400]", …} 
details 
: 
undefined 
error 
: 
400 
errorType 
: 
"Meteor.Error" 
isClientSafe 
: 
true 
message 
: 
"Match failed [400]" 
reason 
: 
"Match failed" 
stack 
: 
"Error↵ at Connection._livedata_result (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:4823:23)↵ at onMessage (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:3528:206)↵ at http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:2908:9↵ at Array.forEach (<anonymous>)↵ at Function._.each._.forEach (http://localhost:3000/packages/underscore.js?hash=cde485f60699ff9aced3305f70189e39c665183c:149:11)↵ at SockJS.self.socket.onmessage (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:2907:43)↵ at SockJS.REventTarget.dispatchEvent (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:142:28)↵ at SockJS._dispatchMessage (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:1309:14)↵ at SockJS._didMessage (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:1375:26)↵ at WebSocket.that.ws.onmessage (http://localhost:3000/packages/ddp-client.js?hash=14d966b7972bd95a1f7015fec9ac340f10508a44:1531:21)" 
__proto__ 
: 
Error 

更新 これは私はあなたがこのようにそれを呼び出す必要があり、端末側でサーバ上

Exception while invoking method '_s3_delete' Error: Match error: Expected string, got object 
+0

アップロード後と削除前に 'console.log(delete_url);'を挿入できますか? – Styx

+0

はいドキュメントが尋ねるのと同じように、 '/ uploads/image-name.jpg 'というパスを私に与えることができます。 –

答えて

2

を得たエラーです:

S3.delete(delete_url, function() { ... }); 

最初のパラメータは、URL自体でなければなりませんあなたの例のようなオブジェクトではありません。

関連する問題