問題タブ [flysystem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Flysystem を使用した S3 アップロード: XAmzContentSHA256Mismatch
League の AWS S3 v3 Flysystem を使用して、ローカルのハードディスクから Amazon S3 にファイルをアップロードしようとしています。これが私の機能です:
何が変更されたのかは 100% わかりませんが、アップロードしようとすると AWS から次のエラーが表示されます。
AWS HTTP エラー: クライアント エラー応答 [url] https://s3.amazonaws.com/bucket/directory/file.ext?partNumber=1&uploadId=BigLoNGsTring_oF_CHaracTers.moREstuFF-- [ステータス コード] 400 [理由フレーズ] Bad Request XAmzContentSHA256Mismatch ( client): 提供された「x-amz-content-sha256」ヘッダーは、計算されたものと一致しません。
catch
上記のコードでは、この文字列は、ブロックに渡される Exception のメッセージとして返される (非常に大きな XML 文字列) の一部です。
私が見つけることができるこのエラーに関するまばらな小さなビットを読んでわかることから、これは、アップロードの各部分のこのヘッダーに配置されているハッシュが何と一致しないため、送信したコンテンツが破損しているとS3が考えていることを何らかの形で示していますAmazon は、そうすべきであると判断します。
ある時点でこれが問題なく機能していたと確信していますが、どこからデバッグを開始すればよいかわかりません。ローカルファイルのアクセス許可により、誰でもそれを読み取ることができます。このファイルをアップロードしようとしている S3 バケットにディレクトリを正常に作成できるため、その側のアクセス許可とは関係がないと思います。
このエラーの意味を正しく理解していますか?
違いがある場合、S3 にアップロードしようとしているファイルは大きなビデオ ファイルです (通常は 250MB 超、2GB 未満)。
アップデート
この問題はローカルでも発生しているため、提案の 1 つを試してローカル コンピューターを再起動しましたが、問題は残ります。この同じ機能も使用する別のものを実行してみました (問題のビデオ ファイルの小さい jpg スクリーン ショットをアップロードします)。問題なくアップロードできました。詳細については、以下に呼び出しコードを示します。
上記$video
は のインスタンスでFFMpeg\Media\Video
あり$format
、 のインスタンスですFFMpeg\Format\Video\DefaultVideo
。私が知っている限り、$video->save(...)
行の後、ファイルに他の変更は加えられていません
アップデート #2
問題はなくなりました。これは回答ではないため、回答として投稿しません。これは私がしたことです:
aws sdkの github のコミットを見ると、私の問題はこの提出された PR で修正された可能性があると思いますが、実際にはわかりません。
drupal-8 - ノード追加フォームからのファイルの直接アップロードが、drupal 8 の flysystem_dropbox および flysystem_s3 モジュールで機能しない
ストレージには flysystem_dropbox と flysystem_s3 で Flysystem モジュールを使用しています。モジュールの readme.txt ファイルで説明されているように、settings.php でスキームを構成しました。
ローカルからドロップボックスまたはローカルから s3 にファイルを同期すると、同期プロセスは正常に機能しますが、ノードから直接ファイルを保存しようとすると、フォームをドロップボックスまたは s3 に追加しても機能しません。最近のログ メッセージ リンクに次のエラーが表示されます
ドロップボックス エラー :
ファイル フィールド field_dropbox_file のアップロード ディレクトリ dropboxexample:// を作成できなかったか、アクセスできません。結果として、新しくアップロードされたファイルをこのディレクトリに保存できなかったため、アップロードはキャンセルされました。
S3 エラー:
Aws\S3\Exception\S3Exception: " https://s3-eu-west-1.amazonaws.com/drupal8test/ " で "PutObject" を実行中にエラーが発生しました; AWS HTTP エラー: クライアント エラー応答 [url] https:// s3-eu-west-1.amazonaws.com/drupal8test/[ステータス コード] 400 [理由句] Bad Request IllegalLocationConstraintException (クライアント): 指定されていない場所の制約は、このリクエストが送信された地域固有のエンドポイントと互換性がありません。- <?xml version="1.0" encoding="UTF-8"?> <Error><Code>IllegalLocationConstraintException</Code><Message>指定されていない場所の制約は、このリクエストが送信された地域固有のエンドポイントと互換性がありません.< /Message><RequestId>A0EFF7B64110C2C5</RequestId><HostId>hze5fRf4JLZYsWLrlT5djroRwL/LrxWgzFX9qU5tP+riDfBeYNn900z36HtwktejaqckD2Gwhss=</HostId></Error> in Aws\WrappedHttpHandler->parseError() (/vardrupal の 153 行目) core/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php)。
私のスキーム構成は以下のようなものです:
では、構成設定やその他の設定が欠落しているかどうかを誰かに教えてもらえますか?
php - GoogleクラウドストレージをLaravel 5ファイルシステムとして使用するには?
ユーザーがファイルをアップロードできるアプリケーションを開発しており、ファイルシステム機能を使用して「ローカル」ディスクで動作するようにしましたが、Google Google Cloud Storage を移行して使用したいと考えています。
有益な情報を見つけるのは非常に困難でした。ドキュメントには、ドロップボックスでの作業の「例」がありますが、完全ではありません。ドライバーとディスクを構成する方法を示していないため、私には十分に明確ではありません。
これからどうすればいいのか分からないので教えていただきたいです。
このチュートリアルhttp://www.codetutorial.io/laravel-5-file-upload-storage-download/を使用したところ、ローカルで機能しているため、Googleクラウドストレージに移行する必要があり、それだけです。私はopenshiftを使用していますが、快適に感じています。
必要に応じて使用するためにファイルシステムを構成する必要があるかどうかを教えてください。
ありがとうございました
laravel - Laravel: Uploading multiple files on s3 through flysystem
I have a system where users can upload zipped files, this zip file is then uploaded to the local drive and extracted. I am aware that uploading a single file is pretty simple.
But the extracted folder will contain roughly around 1000 files. So is there anyway i can upload multiple files to s3 at once?
What i am looking for is a way to upload the whole extracted folder to s3.
Any help is appreciated :)