


Erstellen einer Benutzer -Avatar -Komponente mit node.js & transloadit
{{/if}}
Beachten Sie, dass wir ein verstecktes Feld enthalten, das den Benutzernamen enthält. Wir werden dies mit unserer Anfrage an Transloadit senden, damit es in unseren Vorlagen verwendet werden kann.
Fügen Sie nun das JavaScript hinzu, beginnend mit einer variablen Initialisierung mit unserem JSON -Lenkerhelfer:
<span>var sig = {{{ json sig }}};</span>
Jetzt binden wir das Transload -Plugin an das Upload -Formular:
<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>
Dies ist komplexer als die minimale Integrationsinitialisierung, die wir uns zuvor angesehen haben.
Wir ziehen die Parameter und die Signatur aus der SIG -Variablen, die wir auf dem Server generiert und dann als JSON codiert haben. Da der Params -Teil verschachtelt ist, verwenden wir JSON.Parse (), um es wieder in ein Objekt umzuwandeln, aus dem Transloadit die entsprechenden Parameter extrahiert.In der Plugin -Initialisierung ist Warten auf true gesetzt. Dies bedeutet, dass wir warten, bis beide Dateien hochgeladen wurden
und , sie wurden verarbeitet.
Verwenden von Montage -Benachrichtigungen, über die Sie später im Abschnitt Erweiterter Nutzung lesen können - bedeutet, dass Sie nicht unbedingt darauf warten müssen, dass die Datei bearbeitet wird. In diesem Fall können Sie auf False warten.Fields ist auf True eingestellt, um das Plugin mitzuteilen, dass wir zusätzliche Informationen einfügen möchten, wenn wir die Dateien zur Verarbeitung senden. In unserem Fall ist dies ein Feld verstecktes Formular namens Benutzername, das wir mit dem Benutzernamen des authentifizierten Benutzers bevölkern.
TriggerUploadonFileSelection wird verwendet, um die Datei an transloadit zu senden, sobald der Benutzer eine Datei ausgewählt hat, anstatt wenn das Formular eingereicht wird. AutoSubmit verhindert, dass es das Formular einreicht, sobald das Ergebnis von Transloadit zurückkommt, da wir das manuell selbst tun werden.
Der Onsuccess -Rückruf wird abgefeuert, wenn die Daten von Transloadit zurückkommen, was uns einen Datenhash in der Montage gibt.
Das Montageobjekt enthält eine Ergebniseigenschaft, die wiederum Eigenschaften für jeden unserer „Schritte“ enthält. Diese enthalten eine Reihe von Dateiobjekten. Da wir nur eine Datei hochladen, sind sie Arrays mit einem einzelnen Element. Jedes Dateiobjekt enthält eine Reihe von Eigenschaften, einschließlich des Originaldateinamens, Meta -Informationen, eindeutigen IDs von Transloadit und anderen Teilen. Um das gesamte Informationsumfang zu sehen, möchten Sie sie möglicherweise in der Konsole auszeichnen und einen Blick darauf werfen. Allerdings sind wir nur wirklich interessiert die URL -Eigenschaft, die die URL des generierten Bildes auf S3 enthält.
Alternativ möchten Sie möglicherweise die SSL_url -Eigenschaft verwenden, die mit URL identisch ist, aber über https.
Wir extrahieren einfach die drei URLs nach dem Namen des entsprechenden Derivats und erstellen dann einen Hash der drei Derivate und deren entsprechenden URLs.
Um dem Benutzer visuelles Feedback zu geben, schnappen wir uns auch die URL des Miniaturbilds und ändern den Avatar auf der Seite, um das neu genannte Bild anzuzeigen.
Schließlich verwenden wir AJAX, um diese Daten still an unsere Anwendung zurückzugeben.
Hier ist die Avatar -Route, um diese Daten zu erfassen:
<span>var sig = {{{ json sig }}};</span>
In der Produktion möchten Sie dies wahrscheinlich bereinigen und validieren.
Wie Sie sehen, nehmen wir den Hash der Ableitungsbilder und deren URLs, holen Sie sich den aktuell authentifizierten Benutzer von Req.User, setzen Sie die Avatar -Eigenschaft auf den bereitgestellten Hash und aktualisieren Sie das Benutzermodell.
Dies ist nur ein möglicher Ansatz. Für ein schnelleres Feedback möchten Sie möglicherweise den OnResult -Rückruf des Plugins verwenden, um die Miniaturansicht zu erhalten, sobald er generiert wurde, anstatt auf alle drei Derivate zu warten. Anstatt einen AJAX -Anruf von Ihrem Client -Code zu verwenden, um Ihren Server zu benachrichtigen, bevorzugen Sie stattdessen die Funktion zur Assembly -Benachrichtigung, die den zusätzlichen Vorteil des Ausführens der Assemblys im Hintergrund bietet, anstatt die Ausführung auf dem Client zu halten. Wenden Sie sich an die Plugin -Dokumentation, um den gesamten Optionsbereich zu erhalten.
, das unsere grundlegende Anwendung abschließt. Vergessen Sie nicht, die gesamte Quelle - einschließlich des Authentifizierungsmechanismus - ist auf Github vorbei.
Erweiterte Verwendung
Bevor wir abschließen, werfen wir einen kurzen Blick auf einige der fortgeschritteneren Aspekte von Transloadit.
Andere clientseitige Optionen
Sie müssen das bereitgestellte JQuery -Plugin nicht verwenden. Im Abschnitt Community -Projekte der Dokumentation finden Sie eine Reihe von Alternativen, darunter ein Plugin für Bootstrap, eine für Drag N 'Drop, ein Winkel -Plugin oder Unterstützung für einfache alte XHR.
Der XHR kann es wert sein, dass Sie sich genauer ansehen. Es handelt sich um eine Lösung mit Bare-Bones, die viel Flexibilität bietet und gleichzeitig Ihr eigenes Feedback bereitstellen muss-beispielsweise eine Art Upload-Anzeige. Es ist auch erwähnenswert, dass nach dem Hochladen der Datei versucht wird, zu bestimmen, wann die Montage durch Abfragen des Servers in Intervallen von 1000 ms abgeschlossen wurde.
Benachrichtigungen
Anstatt Benutzer darauf zu warten, dass ihre Uploads verarbeitet werden, können Sie Benachrichtigungen verwenden, um Ihre Anwendung zu pingen, wenn die Dateien fertig sind. Mit diesem Ansatz muss ein Benutzer nur warten, bis das Upload abgeschlossen ist.
Benachrichtigungen sind leicht aus einem Verbraucherort zu implementieren. Fügen Sie einfach eine Notify_url in Ihre Montageanweisungen hinzu, zum Beispiel:
<span>var sig = {{{ json sig }}};</span>
Wenn Ihre URL von Transloadit pinged wird, enthält der vorgesehene JSON ein Signaturfeld, mit dem Sie sicherstellen können, dass die Benachrichtigung tatsächlich von ihnen stammt. Dekodieren Sie einfach die Signatur mit Ihrem Auth Secret.
Während der Entwicklung möchten Sie dieses Proxy -Paket möglicherweise nutzen, um Ihre Montagebenachrichtigungen zu testen oder einen Tunneling -Service wie NGROK zu verwenden.
Zusammenfassung
In dieser zweiteiligen Serie haben wir einen umfassenden Blick auf Transloadit, einen Dateiverarbeitungsdienst, angesehen.
In Teil eins haben wir einige der Vor- und Nachteile durchgemacht und uns dann die Schlüsselkonzepte angesehen.
In diesem Teil haben wir uns die Hände schmutzig gemacht und eine einfache Benutzer -Avatar -Komponente mit JQuery, Node.js und Express erstellt.
Sie sind nicht auf JQuery beschränkt und können in der Tat eine Vanille -JavaScript -Lösung oder Ihr Lieblings -Framework verwenden. Sie müssen es nicht einmal von einer clientseitigen Anwendung verwenden, und wenn es um serverseitige Technologien geht, haben Sie eine Vielzahl von Optionen. Hoffentlich haben Sie jetzt eine Wertschätzung dafür erhalten, wie es für die Bildhandlung verwendet werden kann.
Verwenden Sie Transloadit in Ihren Projekten? Kennen Sie einen besseren Service? Lass es mich in den Kommentaren wissen.
häufig gestellte Fragen (FAQs) zur Benutzer -Avatar -Komponente in Node.js mit Transloadit
Wie kann ich das Erscheinungsbild des Avatars in node.js mit transloadit anpassen? Sie können die Größe, Form und Farbe des Avatars ändern. Passen Sie beispielsweise den Parameter „Größen“ an, um die Größe zu ändern. Verwenden Sie zum Ändern der Form den Parameter „Ernte“. Mit den Parametern "Wasserzeichen" bzw. "Text" können Sie auch einen Wasserzeichen- oder Overlay-Text in den Avatar hinzufügen.
Implementieren der Benutzer-Avatar-Komponente in einer realen Anwendung umfasst die Integration in den Benutzerregistrierungs- oder Profil-Update-Prozess Ihrer Anwendung. Wenn ein Benutzer sein Profil registriert oder aktualisiert, können Sie Transloadit verwenden, um einen Avatar basierend auf den Details des Benutzers zu generieren. Sie können dann die URL des Avatars in Ihrer Datenbank speichern und sie verwenden, wo Sie den Avatar des Benutzers anzeigen müssen. Transloadit beinhaltet das Anhören von Fehlerereignissen in Ihrer Baugruppe. Wenn während des Montageprozesses ein Fehler auftritt, wird Transloadit ein "Fehler" -Ereignis ausstrahlen. Sie können auf diese Veranstaltung zuhören und angemessen umgehen. Zum Beispiel möchten Sie möglicherweise den Fehler protokollieren, den Benutzer benachrichtigen oder die Baugruppe wiederholen.
Kann ich Transloadit für die Benutzer-Avatar-Generation in einer nicht-node.js-Umgebung verwenden? und Java. Sie können diese APIs verwenden, um Transloadit in Ihre Nicht-Node.js-Anwendung zu integrieren. Transloadit umfasst die Feinabstimmung Ihrer Montageanweisungen und die effektive Verwaltung Ihrer Ressourcen. Zum Beispiel können Sie die Größe der generierten Avatare reduzieren, um Bandbreite und Speicherplatz zu sparen. Sie können auch die Funktion von Transloadit 'Auto_Retry' verwenden, um fehlgeschlagene Assemblys automatisch erneut zu verfolgen, die die Zuverlässigkeit Ihres Avatar -Erzeugungsprozesses verbessern können.
Testen der Benutzer -Avatar -Komponente umfasst das Erstellen von Unit -Tests für Ihre Montageanweisungen und Integrationstests für die Integration Ihrer Anwendung mit Transloadit. Zu diesem Zweck können Sie Testframeworks wie Mokka oder Scherz verwenden. Sie können auch Mock -Dienste verwenden, um das Verhalten von Transloadit während des Tests zu simulieren. Ihre Baugruppen und Schutz Ihrer Transload -API -Schlüssel. Sie können die Funktion "Signaturauthentifizierung" von Transloadit verwenden, um sicherzustellen, dass nur autorisierte Clients Assemblies erstellen können. Sie sollten Ihre Transloadit-API-Schlüssel auch sicher speichern und sie niemals im clientseitigen Code freilegen. Der vielseitige Medienverarbeitungsdienst und er unterstützt neben der User -Avatar -Generation eine Vielzahl von Aufgaben. Sie können es für die Bild- und Videoverarbeitung, das Hochladen von Dateien und mehr verwenden. Sie können sogar mehrere Aufgaben in einer einzelnen Baugruppe zusammenstellen, um komplexe Workflows für Medienverarbeitung zu erstellen. Mit Transloadit beinhaltet das Hören nach Fortschrittsereignissen in Ihrer Montage. Transloadit gibt während des Montageprozesses in regelmäßigen Abständen „Fortschrittsereignisse“ in regelmäßigen Abständen ab. Sie können auf diese Ereignisse zuhören und die Benutzeroberfläche Ihrer Anwendung aktualisieren, um den aktuellen Fortschritt widerzuspiegeln.Wie kann ich den Benutzer -Avatar -Erzeugungsprozess mit Transloadit skalieren? Sie können mehrere Baugruppen erstellen, um Avatare parallel zu verarbeiten, was Ihren Durchsatz erheblich erhöhen kann. Sie sollten auch Ihre Transload -Nutzung überwachen und Ihren Plan nach Bedarf anpassen, um sicherzustellen, dass Sie über genügend Kapazitäten verfügen, um die Last Ihrer Anwendung zu verarbeiten.
Das obige ist der detaillierte Inhalt vonErstellen einer Benutzer -Avatar -Komponente mit node.js & transloadit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.
