fetchを使用してアップロードの進行状況インジケーターを実装するドキュメントや例を見つけるのに苦労しています。
これは私がこれまでに見つけた唯一のリファレンスであり、次のように述べています。
進行状況イベントは、現時点ではフェッチで到着しない高レベルの機能です。
Content-Length
ヘッダーを確認し、パススルーストリームを使用して受信したバイトを監視することにより、独自のものを作成できます。つまり、
Content-Length
別の方法なしで明示的に応答を処理できます。そしてもちろん、たとえそれContent-Length
があったとしても、それは嘘になる可能性があります。ストリームを使用すると、これらの嘘を好きなように処理できます。
送信された「バイトを監視するためのパススルーストリーム」をどのように記述しますか?それが何らかの違いを生む場合、私はこれを行って、ブラウザーからCloudinaryへの画像アップロードを強化しようとしています。
注:私はCloudinary JSライブラリには興味がありません。これは、jQueryに依存しており、私のアプリはそうではないためです。私は、ネイティブのJavaScriptとGithubのポリフィルでこれを行うために必要なストリーム処理にのみ興味があります。fetch
ストリームはWebプラットフォーム(https://jakearchibald.com/2016/streams-ftw/)に着陸し始めていますが、まだ初期の段階です。
すぐにストリームをリクエストの本文として提供できるようになりますが、未解決の問題は、そのストリームの消費がアップロードされたバイトに関連しているかどうかです。
特定のリダイレクトにより、データが新しい場所に再送信される可能性がありますが、ストリームは「再開」できません。これを修正するには、ボディを複数回呼び出すことができるコールバックに変換しますが、JSがプラットフォームで初めての場合であるため、リダイレクトの数を公開することがセキュリティリークではないことを確認する必要があります。それを検出します。
一部の人は、ストリームの消費をアップロードされたバイトにリンクすることが理にかなっているのではないかと疑っています。
簡単に言えば、これはまだ不可能ですが、将来的にはストリーム、またはに渡されるある種の高レベルのコールバックのいずれかによって処理されますfetch()
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加