を乗り越えることができない私は、S3に新しいですし、画像保存のためにそれを使用する必要があります。私は、CF用s2wrapperの半ダースのバージョンを見つけたが、v4のための一組だけがリーが初期化
によって変更1 comのディレクトリにドロップされたhttps://gist.github.com/Leigh-/26993ed79c956c9309a9dfe40f1fce29
であると表示され、含まれている「テスト」ページを作成しました次のコード:
s3 = createObject('component','com.S3Wrapper').init(application.s3.AccessKeyId,application.s3.SecretAccessKey);
しかし、次のエラーを得た:だから私は
からライン37を変更
variables.Sv4Util = createObject('component', 'Sv4Util').init(arguments.S3AccessKey, arguments.S3SecretAccessKey);
から
variables.Sv4Util = createObject('component', 'Sv4').init(arguments.S3AccessKey, arguments.S3SecretAccessKey);
私はリーコードを通過するように感じる、物事を変え始めるには悪い考えです知っているリーのコードは確かです。
これをどこでも使用する方法の例があれば知っていますか?もし私が間違っているのではない。違いがある場合は、AdobeのCFエンジンではなくLucee 5を使用しています。
UPDATE:
私はリーの指示に従い、エラーが今なくなっています。私は今、このようになります私のテストページへaddedsomeより多くのコード午前:
かかわらず、私はバケツのために入れ、OBJや地域、私は何を得るの<cfscript>
s3 = createObject('component','com.S3v4').init(application.s3.AccessKeyId,application.s3.SecretAccessKey);
bucket = "imgbkt.domain.com";
obj = "fake.ping";
region = "s3-us-west-1"
test = s3.getObject(bucket,obj,region);
writeDump(test);
test2 = s3.getObjectLink(bucket,obj,region);
writeDump(test2);
writeDump(s3);
</cfscript>
リーあなたがまだ残っているか、誰かはs3Wrappers任意の提案や指導の一つを使用していますか?
更新#2: アレックスの助けを借りても、私はこれを動作させることができません。 getObjectLinkから受け取るリンクは無効で、getObjectはオブジェクトをダウンロードしません。私はこの記事https://shlomoswidler.com/2009/08/amazon-s3-gotcha-using-virtual-host.htmlを見つけた
それはかなり古く、S3ので、特に使用することを提案している:私は、私はこれを受けて、私は、追加情報があるかどうかを確認するためのputObjectメソッド
test3 = s3.putObject(bucketName=bucket,regionName=region,keyName="favicon.ico");
writeDump(test3);
をしようと思いましたbucketnamesのドット私はもうそれ以上の関連性はありません。そこ私が間違っているの何かは明らかであるが、私はこれを解決しようと時間を費やしていると私はそれが何であるかを見つけ出すように見えることはできません。
悪い命名は、(署名4バージョンを区別するために)これは2つのコンポーネントが必要です:?。。S3ラッパーとSV4ユーティリティをA)の保存[S3コンポーネント]( https://gist.gi thubusercontent.com/Leigh-/26993ed79c956c9309a9dfe40f1fce29/raw/da1caf605370705a7d258fcddbcb79994af60162/S3Wrapper.cfc)を「S3v4.cfc」、B)「The Signature 4 Utility」(https://gist.github.com/Leigh-/a2798584b79fd9072605a4cc7ff60df4#file- sv4util-cfc)を 'Sv4.cfc'(どちらもあなたの' com'ディレクトリにあります)として追加します。次に、38行目のCFCパスに 'com'を追加します。' variables.Sv4Util = createObject( 'component'、 'com.Sv4')。init(...); ' – Leigh
..(続き)注意喚起!私は明日のことを修正します(もっと明白です)。 – Leigh
問題はなんですか?関数呼び出しが期待する結果は何ですか? – Alex