1

ユーザーが大きなファイルをアップロードできるフォームを作成しています。モバイル デバイスや低速の接続では、アップロードに時間がかかる場合があるため、ユーザーに進行状況バー (またはまだ機能していることを知らせるもの) を表示する AJAX 呼び出しによってこれを処理することが重要であると思われます。

問題は次のとおりです。アップロードのエンドポイントは、パラメーターの 1 つとしてシークレット API キーを想定しているサード パーティの API です。これは、ドキュメントのセクションへの直接リンクです。この API キーは、クライアント側のユーザーに公開できません。

私の最初の本能は、API キーを持つサイト上の中間 PHP スクリプトにフォームを送信し、ファイルを API にアップロードすることです。しかし、これはファイルを 2 回アップロードすることを意味すると確信しています。1 回はサーバーにアップロードします。次に、サーバーから API エンドポイントに戻ります。フォームが AJAX で送信されたとしても、完了するまでに 2 倍の時間がかかるのは、ユーザーにとって良い結果ではありません。

では、API キーを安全に保ちながら、ユーザーがファイルをアップロードできるようにする最もスムーズな方法は何でしょうか?

重要かもしれないし重要でないかもしれないいくつかの詳細:
私たちのサイトは、CakePHP フレームワーク (v2.x) 上に構築された PHP Web アプリです。アップロードされるファイルは、長さが 1 ~ 5 分のさまざまな形式のビデオ ファイルです。API は Wistia という会社です (上記のドキュメントへのリンクを参照)。ファイル サイズは 3 ~ 30 MB の範囲のようです。サードパーティ API の動作を変更することはできません。

4

3 に答える 3

0

2 回アップロードしても問題ないはずです。

サーバーから API まで - これがサーバーと API の目的です - データを交換します。

Javascript はこれを意図したものではありません。

于 2013-07-25T14:56:45.440 に答える
0

クライアントでそれを隠す方法はないので、最初の直感は正しかった - サーバーからファイルを転送する必要がある.

于 2013-07-25T14:57:03.123 に答える