2016-12-25 8 views
0

DropZoneを使用してupload_presetを使用せずにCloudyにアップロードしたいと考えています。アップロードプリセットhereを使用してそれを行う方法を説明するStackOverflowの例があります。その答えで使用されるアプローチは、「送信」イベントで利用可能なCloudData必須のパラメータをFormDataオブジェクトに追加することです。 (署名されたアップロードを使用)。DropzoneはCloudlyへの直接アップロードに署名しました

upload_presetを使用せずにアップロードするには、送信イベント中にサーバーAPI呼び出しを行う必要があります。これは、アップロードシグネチャが、画像アップロードのCloudDBサポートとタイムスタンプのほとんどのパラメータを使用して生成されるために必要です。したがって、ドロップされる実際のファイルに基づいてCloudnodeのアップロードオプションを設定したい場合は、このAPIコールをDropzoneイベント処理ワークフローのどこかで呼び出す必要があります。

理論的には、私は 'sending'イベントをリスンするために登録する関数内の同期XMLHttpRequestを使ってこれを行うことができます。それは最善のアプローチのようには見えません。

Cloudy Ajaxアップロードウィジェットには、コールバック付きの関数引数(文書番号here)を使用するuploadSignatureパラメータがあり、必要なサーバAPI呼び出しを非同期呼び出しで行うことができます(サンプルコードを正しく理解していると仮定します)。 Dropzoneに相当する機能はありますか?

その他の推奨アプローチはありますか?

答えて

0

まず、アップロードを自動的に開始しないように、autoProcessQueue: falseを設定して、Dropzoneを初期化する必要があります。 addedfileイベントを使用して、サーバー上で署名を生成するためのAjax呼び出しを送信します。 Ajaxからのコールバックは、アップロードパラメータにシグネチャとタイムスタンプを挿入し(例:myDropzone.options.params[signature]=signatureなど)、myDropzone.processQueue();

を呼び出してアップロードを開始する必要があります
関連する問題