{{/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 サイトの他の関連記事を参照してください。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
