2011-01-17 26 views
1

Ich möchte, dass Benutzer Bilder für Profilbilder hochladen können.Benutzerprofil Bilder hochladen - Richtlinien

Gibt es irgendwelche Richtlinien, wie dies am besten gehandhabt werden sollte? zB - wo die Bilder speichern? und zu verwendende Ordnerstruktur. - machen es schwierig für Benutzer, durch jedermanns Profilbilder zu stöbern?

danke.

+0

Es hängt alles von der Architektur Ihrer App ab - haben Sie ein CDN? Welche Art von Hosting verwenden Sie (standardmäßiges Shared Hosting, Azure usw.)? Wie werden diese Bilder in der App verwendet? –

+0

ist eine Standard asp.net MVC-Site, die zunächst auf einer Shared Hosting-Umgebung sein wird. Die Bilder werden neben dem Namen eines Benutzers angezeigt, wenn sie einen Kommentar abgeben usw. – raklos

+0

Ordnerstruktur? Haben Sie den Eindruck, dass es wichtig ist? – jfar

Antwort

5

meine ich nicht eine nasse Decke, wenn Ihr zu sein, in diese Texte selbst zu schreiben, aber ich würde verwenden nur http://en.gravatar.com

Aber auf Ihre Fragen direkt zu beantworten:

Gibt es Richtlinien, Wie sollte das am besten gehandhabt werden? zB - wo kann ich die Bilder speichern? und zu verwendende Ordnerstruktur. - es den Nutzern schwer machen, durch alle Profilbilder zu blättern?

Im Allgemeinen hängt dies stark von der Einrichtung der Serverumgebung ab. Haben Sie mehrere Webserver? Haben Sie einen Datenbankserver, den Sie verwenden möchten? Haben Sie eine reine Bilddomäne, die Sie verwenden möchten? usw.

Der einfachste Ansatz besteht darin, sie in das Dateisystem zu schreiben und Code zu verwenden, um sie abzurufen. Wenn Sie diese Dateien nicht in Ihr Webverzeichnis schreiben, können Sie sicher sein, dass Benutzer dies nicht zum Ausführen von Code oder Skripten auf Ihrem Server verwenden können. Durch die Verwendung einer ASPX-Seite zum Zurückgeben des Bildinhalts können Sie den Bildspeicher jederzeit erneut verschieben.

Um das Browsen zu verhindern, würde ich einfach eine eindeutige Bildkennung für jeden Benutzer erstellen. Übrigens würde ich das interne "ID" -Feld des Benutzers nicht verwenden; Erstellen Sie stattdessen nur für Bilder eine neue ID.

2

Wenn es nur ein einzelnes Benutzerbild anzeigen soll, würde ich empfehlen, Gravatar statt Ihrer eigenen Vorgehensweise zu implementieren. Es gibt viele Artikel da draußen, wie Gravatar mit ASP.NET MVC am besten zu implementieren.

Wenn Sie wirklich Ihre eigene Lösung haben möchten, empfehle ich, allen Benutzerprofilbildern einen zufälligen Dateinamen zu geben (zum Beispiel mit einer GUID "3F2504E0-4F89-11D3-9A0C-0305E82C3301.jpg") .