2012-04-23 2 views
5

Ich versuche, den besten Weg zu finden, ein Modell mit einem zugeordneten Bild zu verwalten.asp.net mvc 3: beste Möglichkeit, ein Modell mit einem Bild zu verwalten

Ich weiß nicht, ob besser ist das Bild im Datenspeicher persiste

class MyModel { 
    ... 
    public byte[] ImageData { get; set; } 
    ... 
} 

oder die URL speichern und das Bild hochladen

class MyModel { 
    ... 
    public string ImageUrl { get; set; } 
    ... 
} 

Das Wesentliche ist, um Dateisystem, das ich will Verwalten Sie das Bild, wenn ich den Modelldatensatz erstelle oder bearbeite.

Ich möchte kein dediziertes Modell/View/Controller zum Hochladen/Persistieren des Bildes auf den Server. Ich möchte das Image verwalten, das mit einer bestimmten Entität in der Datenbank verknüpft ist.

Grüße, Giacomo

Antwort

1

Ihr erster Ansatz ist in Ordnung, weil Sie das Bild in der Datenbank sind zu speichern. Sie werden immer noch eine Hilfsfunktion irgendeiner Art benötigen, die eine URL zu einem Handler erzeugt, der das Bild rendert/anzeigt.

Sie könnten wählen, auch Speichern Sie die Bild-URL in dem Fall würden Sie nicht unbedingt eine Hilfsmethode benötigen.

Wenn Sie Bilder außerhalb der Datenbank zu speichern (zB auf dem Dateisystem) würden Sie würden das ImageData Byte-Feld natürlich nicht brauchen ...

+0

Das hat mir sehr geholfen: http: //www.igloolab .com/jquery-html5-uploader/ – gsscoder

+0

@giacomo: Froh, dass geholfen hat, aber es ist ein wenig offtopic, wenn ich auf Ihre Frage ... – Ropstah

+0

Es half mir bei der Verwendung eines anderen Ansatzes. Ich verwende clientside js, um Dateien und einen Controller zu speichern, um die Datei auf Server fs zu speichern, als ich MyModel.ImageUrl mit dem Dateinamen verknüpfen kann. – gsscoder