{{/if}}
JavaScriptを追加して、JSONハンドルバーヘルパーを使用していくつかの可変初期化から始めます。ユーザー名を含む隠されたフィールドが含まれていることに注意してください。これをリクエストで送信して送信します。これにより、テンプレートで使用できます。
これは、以前に見た最小限の統合初期化よりも複雑ですので、一度に少しずつ見てみましょう。 プラグインの初期化では、待機がtrueに設定されています。つまり、両方のファイルがアップロードされるまで待機します それらは処理されました。
アセンブリ通知を使用して - 高度な使用法セクションで後で読むことができます - は、ファイルを処理するのを必ずしも待つ必要がないことを意味します。その場合、falseまで待機することができます。
フィールドは、処理用のファイルを送信する際に追加情報を含めたいことをプラグインに伝えるためにTrueに設定されています。私たちの場合、これはUsernameという名前の隠されたフォームフィールドです。これを認証されたユーザーのユーザー名に入力します。
アセンブリオブジェクトには、結果プロパティが含まれており、「ステップ」のそれぞれのプロパティが含まれます。これらには、ファイルオブジェクトの配列が含まれています。 1つのファイルのみをアップロードしているため、単一のアイテムを含む配列になります。各ファイルオブジェクトには、元のファイル名、メタ情報、TransLoaditからの一意のID、その他のビットとピースなど、多くのプロパティが含まれています。情報の全範囲を確認するには、コンソールにログアウトして見てみることができます。しかし、私たちが本当に興味を持っているのは、S3の生成された画像のURLを含むURLプロパティだけです。<span>var sig = {{{ json sig }}};</span>
<span>$(function() {
</span> <span>$('#avatar-form').transloadit({
</span> <span>wait: true,
</span> <span>params: JSON.parse(sig.params),
</span> <span>signature: sig.signature,
</span> <span>fields: true,
</span> <span>triggerUploadOnFileSelection: true,
</span> <span>autoSubmit: false,
</span> <span>onSuccess: function(assembly) {
</span> <span>$('img#avatar').attr('src', assembly.results.thumbnail[0].url + '?' + (new Date()).getTime() );
</span> <span>var derivatives = {
</span> <span>thumbnail : assembly.results.thumbnail[0].url,
</span> <span>medium : assembly.results.medium[0].url,
</span> <span>large : assembly.results.large[0].url
</span> <span>};
</span> $<span>.ajax({
</span> <span>type: 'post',
</span> <span>url: '/avatar',
</span> <span>data: derivatives,
</span> <span>success: function(resp){
</span> <span>console.log(resp);
</span> <span>}
</span> <span>})
</span> <span>}
</span> <span>});
</span><span>});</span>
SIG変数からパラメーションと署名を引き込み、サーバーで生成し、JSONとしてエンコードしました。パラメーション部分はネストされているため、json.parse()を使用してオブジェクトに戻し、そこからtransloaditが関連するパラメーターを抽出します。
データがTursLoaditから戻ってきたときにOnSuccessのコールバックが起動され、アセンブリにデータがハッシュします。
最後に、Ajaxを使用して、そのデータを黙ってアプリケーションに戻します。
このデータをキャプチャするアバタールートは次のとおりです
生産中、おそらくこれを消毒して検証したいと思うでしょう。
ご覧のとおり、デリバティブ画像とそのURLのハッシュを取り、現在認証されているユーザーをReq.Userからつかみ、アバタープロパティを提供されたハッシュに設定し、ユーザーモデルを更新します。
<span>var sig = {{{ json sig }}};</span>これは、1つの可能なアプローチにすぎません。フィードバックをすばやくするには、プラグインのOnResultコールバックを使用して、3つのデリバティブすべてを待つのではなく、生成されるとすぐにサムネイルを取得することをお勧めします。クライアントコードからAJAXコールを使用してサーバーを通知する代わりに、代わりに、クライアントの実行を続けるのではなく、アセンブリを背景に実行するという追加の利点を提供するアセンブリ通知機能を使用することをお勧めします。オプションの全範囲については、プラグインドキュメントを参照してください。
それは基本的なアプリケーションを締めくくります。忘れないでください、認証メカニズムを含むすべてのソースはGitHubで終わりました。締めくくる前に、Transloaditのより高度な側面のいくつかを簡単に見てみましょう。Advanced使用法
その他のクライアント側オプション
提供されたjQueryプラグインを使用する必要はありません。ドキュメントのコミュニティプロジェクトのセクションでは、ブートストラップ用のプラグイン、ドラッグN ’ドロップ用のプラグイン、角度のあるプラグイン、またはプレーンな古いXHRのサポートなど、多くの代替品を見つけることができます。
XHRは、より詳細に検討する価値があるかもしれません。これは、十分な柔軟性を提供する裸のボーンソリューションであり、独自のフィードバックを提供する必要があります。たとえば、ある種のアップロードインジケーターです。また、ファイルをアップロードしたら、1000msの間隔でサーバーを投票することによってアセンブリがいつ完了したかを判断しようとすることも注目に値します。通知
ユーザーにアップロードが処理されるのを待つのではなく、ファイルの準備ができたら、通知を使用してアプリケーションをpingすることができます。このアプローチを使用して、ユーザーはアップロードが完了するまで待機する必要があります。
通知は、消費者の視点から簡単に実装できます。アセンブリの指示にnotify_urlを含めるだけです。<span>var sig = {{{ json sig }}};</span>
URLがTursLoaditによってpingされると、JSONが提供するJSONには、通知が実際にそれらから来たことを確認するために使用できる署名フィールドが含まれます。 Auth Secretを使用して署名をデコードするだけです
開発中は、アセンブリ通知をテストするためにこのプロキシパッケージを利用するか、ngrokなどのトンネルサービスを使用することをお勧めします。要約
この2部構成のシリーズでは、ファイル処理サービスであるTransloaditを包括的に見ています。 パート1では、いくつかの利点と短所を経験し、重要な概念を調べました。この部分では、手を汚し、jQuery、node.js、expressを使用してシンプルなユーザーアバターコンポーネントを構築しました。
JQueryに制限されていません。実際、バニラJavaScriptソリューションまたはお気に入りのフレームワークを自由に使用できます。クライアント側のアプリケーションから使用する必要さえありません。また、サーバー側のテクノロジーに関しては、幅広いオプションがあります。うまくいけば、あなたは今、それが画像処理にどのように使用できるかについて感謝しています。
プロジェクトでTransLoaditを使用していますか?より良いサービスを知っていますか?コメントでお知らせください。
node.jsのユーザーアバターコンポーネントに関するよくある質問(FAQ) transloaditを使用してnode.jsでのアバターの外観をカスタマイズするにはどうすればよいですか?
node.jsでのアバターの外観をTursloaditでカスタマイズするには、アセンブリの指示のパラメーターを変更することが含まれます。アバターのサイズ、形、色を変更できます。たとえば、サイズを変更するには、「サイズ変更」パラメーターを調整します。形状を変更するには、「作物」パラメーターを使用します。 「透かし」と「テキスト」パラメーターをそれぞれ使用して、アバターに透かしまたはオーバーレイテキストを追加することもできます。 ?
実際のアプリケーションでユーザーアバターコンポーネントを実装するには、アプリケーションのユーザー登録またはプロファイルの更新プロセスに統合することが含まれます。ユーザーがプロファイルを登録または更新すると、TrussLoaditを使用してユーザーの詳細に基づいてアバターを生成できます。その後、データベースにアバターのURLを保存し、ユーザーのアバターを表示するために必要な場所に使用できます。 Transloaditには、アセンブリでエラーイベントをリッスンすることが含まれます。アセンブリプロセス中にエラーが発生した場合、TransLoaditは「エラー」イベントを発生します。このイベントを聞いて、適切に処理できます。たとえば、エラーを記録したり、ユーザーに通知したり、アセンブリを再試行したりすることをお勧めします。 テストユーザーのアバターコンポーネントには、アセンブリの指示のための単体テストと、アプリケーションのTransLoaditとの統合の統合テストを作成することが含まれます。この目的のために、MochaやJestなどのテストフレームワークを使用できます。モックサービスを使用して、テスト中にトランスロードの動作をシミュレートすることもできます。アセンブリとTransLoadit APIキーの保護。 Transloaditの「署名認証」機能を使用して、認定されたクライアントのみがアセンブリを作成できるようにすることができます。また、TrussLoadit APIキーを安全に保存し、クライアント側のコードでそれらを公開しないでください。汎用性の高いメディア処理サービスと、ユーザーアバター生成以外の幅広いタスクをサポートしています。画像とビデオの処理、ファイルのアップロードなどに使用できます。単一のアセンブリで複数のタスクを連鎖させて、複雑なメディア処理ワークフローを作成することもできます。 TransLoaditでは、アセンブリで進行状況のイベントをリッスンすることが含まれます。 Transloaditは、アセンブリプロセス中に定期的に「進行状況」イベントを発します。これらのイベントを聞いて、アプリケーションのUIを更新して現在の進捗を反映できます。
以上がnode.js&transloaditを使用してユーザーアバターコンポーネントを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
