問題
AWS公式から配布されているAWS S3のunitypackage内サンプルプロジェクトのソースコードを,以下のサイト様を参考に書き換えることでpngファイルを取得しようとしています.
https://qiita.com/71713/items/cc0866b94170cf7d18f1
// ---------------- //
private void GetObject()
{
Client.GetObjectAsync(S3BucketName, SampleFileName, (responseObj) =>
{
MemoryStream stream = new MemoryStream();
Debug.Log(imagebox.texture); responseObj.Response.ResponseStream.CopyTo(stream); Debug.Log(0); Texture2D tex = new Texture2D(200, 200); byte[] results = stream.ToArray(); tex.LoadImage(results); imagebox.texture = tex; Debug.Log(tex); });
}
// ---------------- //
しかし, (元のサンプルコードでは)ファイルの存在は読み取れているのですが,
画像をアプリ内にコピーする動作はうまく動作しませんでした.
試したこと
ひとまずDebug.Logで動作が停止している箇所を調べたところ, CopyToが行えていない(直後のDebug.Log(0)がコンソールに流れてこない)ことは分かりました.
また,画像サイズの変更・AWS S3側でのアクセス権限を一旦外部アクセス無制限なパブリック公開にするなどもしてみましたが,うまくいきませんでした.
また主題からはずれるのですが,パブリック公開しても良いファイルに限ってですが,
このような目的の場合にAWSのSDKを用いてS3とコミュニケーションすることと,S3でそもそもファイルを全体公開設定にしてUnityWebRequestなどでデータを取得することで違いはあるでしょうか.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/13 17:16