問題タブ [skipper]

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 に答える
378 参照

sails.js - Sails.js は、特定のパスの bodyParser を変更します

Sails.js 0.10.5 では、bodyParser を特定のパスに置き換えたいと考えています。たとえば、パス「/app/upload」には別のボディ パーサーを使用し、残りの部分にはデフォルトを使用します。どうすればいいですか?

0 投票する
0 に答える
511 参照

sails.js - Flowjs での Sailsjs Skipper ファイルのアップロードの使用

大きなファイルのアップロードのために、スキッパーとflowjsをng-flowと一緒に使用しようとしています。

flowjs リポジトリにあるNodejs のサンプルに基づいて、ファイルのアップロードを処理するための帆コントローラーとサービスを作成しました。小さなファイルをアップロードすると問題なく動作しますが、大きなファイル (200 Mb のビデオなど) をアップロードしようとすると、エラー (以下にリスト) が表示され、配列req.file('file')._filesが空になります。アップロード中に数回しか発生しないという興味深い事実。たとえば、flowjs がファイルを 150 チャンクにカットした場合、セイル コンソールでは、これらのエラーは 3 ~ 5 回しか表示されません。そのため、ほとんどすべてのチャンクがサーバーにアップロードされますが、一部が失われ、結果としてファイルが破損します。

これらのエラーは、すべての flowjs パラメーターに対して表示されます。

スキッパーを正しく使用するには、テキスト パラメータを最初に送信する必要があることを知っています。そして、chrome ネットワーク コンソールで、flowjs がこのデータを正しい順序で送信することを確認しました。

助言がありますか?

コントローラー方式

サービスポスト方式

編集

maxChunkRetries: 5デフォルトでは であるため、flowjs プロパティを設定するソリューションが見つかりました0。サーバー側では、req.file('file')._filesが空の場合、(flowjs のコンテキストで) 永続的ではないエラーをスローしています。

それで、それは私の問題を解決しますが、なぜこのように振る舞うのかという疑問はまだ未解決です. flowjs および Nodejs のサンプル コードではconnect-multiparty、追加のエラー処理コードが使用されていないため、おそらくスキッパー bodyparser バグです。

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

node.js - Sails.js の部分的な POSTED データ (随時)

ユーザーがレコードを作成または更新するためにフォーム(マルチパート)に入力して送信する実稼働サーバー(ubuntu)があります。使用しようとするreq.allParams()と、不完全なデータを持つオブジェクトが取得されることがあります。

これが私が通常得るものだとしましょう:

しかし、時々私は得る:

私はフォームをチェックしましたが、それらは正しいので、明らかなのは最後のキー (フォームフィールド) だけが欠落していることだけです. POST タイムアウトに関連している可能性がありますか?

明確にするために、これは私がフォーマットを行う前にデータを取得する方法であり、ログを配置することさえありますsails/node_modules/skipper/index.js

時々部分的な情報を表示します。ローカル マシンでこの動作を確認したことはありませんが、前述したように、30 回ごとに 1 回のようにめったに発生しませんが、クライアントが送信データを失うことは依然としてかなり悲惨なことです。

これは、セイル、エクスプレス、またはスキッパーの問題のようです。

私はこれを数日間デバッグしようとしてきましたが、最初はなぜ、いつそれが起こったのか何も知らなかったので、これが私が得た最も近いものです.フォームが正しく送信されていることを知っていますが、帆走不完全なものを受け取るか、正しく解析しません。

誰かが同様の問題に遭遇しましたか? これを解決するための考えは大歓迎です。

バージョン:

  • ノード 0.12
  • 帆 0.11.3

注:これは、ファイルのアップロードの有無にかかわらず発生します

編集:ネットワーク マネージャー (NetBalancer) を使用して、アップロード速度を可能な限り 1 バイト/秒下げてみましたが、奇妙な動作が得られないため、遅いネットワーク アップロードが関係しているようには見えません。少なくとも手動テストでは、NetBalancer の信頼性もよくわかりません。

更新: セイルを 0.12.1 に、ノードを 5.8.0 に更新しましたが、問題は解決しません。

ありがとう

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

node.js - Kurento - Sailsjs 通信: 予期しないトークン

Sailsjs と Kurento から Socket.io インスタンスを (ローカルで、Docker インスタンスで) 接続しているときに、いくつかの問題があります。

このコードを使用して Kurento に接続しようとすると (Sailsjs サービスで):

コンソールでこのエラーが発生しました (コールバックは呼び出されません):

Kurento サーバーからの応答の解析中に問題があることは理解していますが (おそらくエンコードの問題)、この応答が解析される場所がわかりません (Sails のボディパーサー?)。

チュートリアルの例を実行すると、正常に実行されますが、Sails では実行されません。

誰も同じ問題に直面していますか?

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

node.js - スキッパー (sails.js) で異なる不明な入力フィールド名を持つミドルウェア内のファイルを処理する

異なる入力名の複数の画像ファイルを含む送信フォームからファイルをアップロードしようとしています。

たとえば、テキスト入力とファイル入力を含むマルチパートフォームを想定し、すべてのファイル入力を同じ名前でグループ化することは実際的ではありません。images[]

アップロードを処理する Express/Sails ミドルウェアを作成したいので、コントローラーで直接アクセスできます。

私がこれを行う場合(req.file()のアップロード方法が約束されていると仮定)

これによりエラーがスローされます: EMAXBUFFER: An Upstream (images-1 ) timed out before it was plugged into a receiver. It was still unused after waiting 9500ms. You can configure this timeout by changing themaxTimeToBufferoption.

maxTimeToBufferスキッパーモジュール自体でも 30000 に増やしても問題ありません。

各ファイルを順次処理しようとするとエラーがスローされるため、入力フィールド名がわかっている限り、それらを並行して処理できます。

問題は、入力フィールドを事前に知らずに、最後のスニペットで同じことを達成するにはどうすればよいかということです。このようなもの

問題はreq._fileparser.upstreams、新しいストリームを受信するたびに更新され、最初の画像が完全に受信された後にのみ発生します (シーケンシャル) が、upstreams 配列が完了するのを待つと、タイムアウト エラーも発生します。

これに対する回避策はありますか?

さらに説明が必要な場合はお知らせください。どんなアイデアでも大歓迎です