問題タブ [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.

0 投票する
1 に答える
688 参照

php - Flysystem S3 リモート ファイルのダウンロードが常に破損する

私は最近、ローカルおよびリモート (具体的には S3) ファイルシステムを抽象化する目的で、既存のアプリケーションで Flysystem を使い始めました。LocalAdapter を正常に構成した私の開発環境では、すべてが正常に機能していました。ただし、S3 ファイルのダウンロードが機能しません。AWS マネジメント コンソールで S3 バケットを手動で参照することでファイルを正常にダウンロードできることを考えると、ファイルのアップロードは完全に機能していることを指摘したいと思います。そうは言っても、$filesystem変数を初期化するコードはスキップします。

私のアプリケーションは PSR-7 アプローチを使用しています。つまり、以下のコードは、Psr\Http\Message\ServerRequestInterface最初の引数として型のオブジェクトが渡さPsr\Http\Message\ResponseInterfaceれ、2 番目の引数として型のオブジェクトが渡される関数内にあります。ローカル ファイル システムが正常に動作していることを考えると、問題はそこにはないと考えて間違いないと思います。

これはコードです:

$stream変数と変数をダンプすると$filesize、結果は期待どおりになります。リモート ファイルの内容が正常に印刷されます。ただし、ファイルのダウンロードは常に破損しており、ファイル サイズは常に 0 バイトです。

私は、Flysystem が舞台裏ですべてを処理し、クライアントに提供する前に、最初に一時フォルダーにファイルを手動でダウンロードする必要がないことを前提としています。

何が問題なのか手がかりはありますか?

更新 1

また、次のコードを試してみましたが、運がありませんでした。ただし、ローカルでは引き続き動作します。