[解決済み] fetchの進捗状況をアップロードしますか?
質問
アップロードの進捗を示すインジケータを実装するための文書や例を見つけるのに苦労しています。 フェッチ .
今のところ見つけた唯一の参考文献です と述べています。
プログレスイベントは高レベルの機能で、今のところフェッチには到来しません。自分で作成するには
Content-Length
ヘッダを調べ、パススルーストリームを使用して受信したバイトを監視することで、独自のイベントを作成できます。これはつまり、レスポンスに対して明示的に
Content-Length
が異なることを意味します。そしてもちろん、たとえContent-Length
があったとしても、それは嘘である可能性があります。ストリームでは、これらの嘘を好きなように処理することができます。
送信されたバイトを監視するパススルースリームをどのように書けばよいですか?もしそれが何らかの違いを生むのであれば、私はこれを、ブラウザから Cloudinary .
ノート
: 私は
ではない
に興味がある。
Cloudinary JS ライブラリ
は、jQuery に依存し、私のアプリはそうではないので、興味があります。私は、ネイティブのJavaScriptでこれを行うために必要なストリーム処理と、Githubの
fetch
ポリフィルを使用してこれを行うために必要なストリーム処理にのみ興味があります。
https://fetch.spec.whatwg.org/#fetch-api
どのように解決するのですか?
ストリームがウェブプラットフォームに着地し始めた( https://jakearchibald.com/2016/streams-ftw/ ) が、まだ初期段階です。
まもなく、リクエストのボディとしてストリームを提供できるようになりますが、未解決の問題は、そのストリームの消費がアップロードされたバイトに関連するかどうかということです。
特定のリダイレクトは、データが新しい場所に再送信される結果となりますが、ストリームは "restart"することができません。ボディを複数回呼び出すことができるコールバックに変更することでこれを修正できますが、リダイレクトの数を公開することは、JS が検出できるプラットフォーム上で初めてのことなので、セキュリティ リークでないことを確認する必要があります。
ストリームの消費をアップロードされたバイトにリンクすることに意味があるのかどうか、疑問に思っている人もいます。
手短に言うと、これはまだ可能ではありませんが、将来的には、ストリームか、またはより高いレベルのコールバックが
fetch()
.
関連
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
jsを使った簡単な照明スイッチのコード
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] フェッチする JSONデータをPOSTする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
JavaScriptの配列共通メソッド解説
-
Vueの「データを聴く」原則を解説
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み] 明示的なプロミス構築のアンチパターンとそれを回避する方法とは?