Laden...

Datei abrufen und darstellen

Erstellt von Dimitri vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.414 Views
D
Dimitri Themenstarter:in
5 Beiträge seit 2019
vor 4 Jahren
Datei abrufen und darstellen

Hi Leute

Erstens weiss ich nicht ob dies wirklich in diese Kategorie gehört.
Ich poste generell nichts in Foren, doch muss jetzt mal um Hilfe bzw. Tipps bitten.

Ich Entwickle ein Windows-Forms Prgramm in c#, dies hat/wird die Aufgabe Titel (Text) Cover(ein Bild) von einem Server zu holen und direkt darzustellen, es ich werde auf den Server jederzeit zugreifen können, somit kann ich die Inhalte selber am Server ändern.

Ich habe noch keine effiziente Möglichkeit gefunden die Daten zu holen und darzustellen, ich habe mir überlegt zuerst eine Picturebox in einem Panel zu platzieren und dann das Bild vom Server zu holen, das selbe mit einem Text in einer TextBox. Jedoch würde das viel hin und her werden, habt ihr eine Idee wie ich Bild und Text in einer Datei speichere und in der Form mit Hilfe der Tools darstelle?

Es müsste so ablaufen das ich Inhalte auf den Server lade, dann wird das Programm die Daten abrufen (Bild und Text, idealerweise auch eine URL zu einem Video) und Darstellen, für die Aktualisierung der Inhalte habe ich mir einen Timer überlegt.

Es werden mehrere Datein auf dem Server sein also es wäre ein Prozess der immer wieder in grösseren Mengen durchgeführt wird bzw wiederholt wird. Deshalb auch keine Importierung der Dateien in die Ressourcen.

Gruss

Dimitri

1.029 Beiträge seit 2010
vor 4 Jahren

Hi,

ich bezweifle, dass es dir groß hilft Bild und Text in einer Datei zu speichern. Falls dem so wäre - würde das auf jeder Homepage so gehandhabt.

Falls du das dennoch tun möchtest - wäre eine Zip-Datei mit Sicherheit die einfachste Variante.

LG

463 Beiträge seit 2009
vor 4 Jahren

Du wirst immer 'viel hin und her' haben - wo ist da dein Problem? Geht es dir um den Traffic oder um die Anzahl der einzelnen Schreib/Leseprozesse?

Welche Technologie zum Übertragen der Daten hast du denn ins Auge gefasst (z.B. FTP oder Webservice)?

D
Dimitri Themenstarter:in
5 Beiträge seit 2019
vor 4 Jahren

Hi,

ich bezweifle, dass es dir groß hilft Bild und Text in einer Datei zu speichern. Falls dem so wäre - würde das auf jeder Homepage so gehandhabt.

Falls du das dennoch tun möchtest - wäre eine Zip-Datei mit Sicherheit die einfachste Variante.

LG

Danke für die Antwort. Es wird keine Homepage geben sondern nur einen Server der die Daten beinhaltet das wären Bild und Text, diese müssten immer Dargestellt werden, Bild gehört zum Text nehmen wir mal an ein Produkt, das Produkt hat ein Bild, klickt man auf das Bild kommt der Text (z.B) Produkt Informationen. Diese müsste ich sauber abrufbar haben z.B Produkt1.JPG gehört zu ProduktText.txt.

@Stefan.Haegele
Danke ebenfalls für die Antwort.
Der Traffic wird erst ein Thema wenn ich das Program für Android umschreibe, ist jedoch noch weit weg. Zuerst kommt grob der Plan.
Das Problem liegt an den Lese & Schreibprozesse, wenn ich es als Problem sehen darf. Das werde ich sehen wenn ich es auf schwächeren Geräten teste, ich denke so ein riesen Problem würde es nicht werden, jedoch habe ich mir trotzdem darüber Gedanken gemacht. Beim Netzwerkprotokoll habe ich an FTP gedacht.

463 Beiträge seit 2009
vor 4 Jahren

Ich muss gestehen ich verstehe das Problem immer noch nicht ganz. Ich würde erst einmal das Projekt umsetzen und 2 (oder mehrere Dateien) per FTP (ich würde hier einen Webservice bevorzugen) laden und erst wenn es dann Probleme mit der Performance der Schreib/Leseprozesse gibt würde ich weiter in diese Richtung suchen/entwickeln..

D
Dimitri Themenstarter:in
5 Beiträge seit 2019
vor 4 Jahren

Hi

Ich werde mal das Projekt grob umsetzen mit einfachem Download der zwei Dateien, und so das immer die neuste Komponente angezeigt wird (Bild). Sollte es bei grösseren bzw. mehreren Tasks Probleme machen, so werde ich mich wieder melden.

Danke für die Antworten

Gruss

Dimitri

16.827 Beiträge seit 2008
vor 4 Jahren

Üblicherweise verwendet man bei sowas grundlegend einen HTTP basierten Service.

Dieser Service liefert Dir über ein Json-Objekt alle notwendigen Informationen, wobei diese im Hintergrund aus einer Datenbank kommen.
Dazu hat nachher jedes Produkt zB. folgenden Aufbau im Response

{
  "id": 123,
  "name": "abc",
  "descriptions": "sehr langer text",
  "number": 123,
  "images": [
    {
      "size": 400,
      "path": "https://media.mystorage.com/products/id"
    },
    {
      "size": 400,
      "path": "https://media.mystorage.com/products/id"
    },
    {
      "size": 400,
      "path": "https://media.mystorage.com/products/id"
    }],
  "videos":[
    {
      "size": 400,
      "path": "https://videos.mystorage.com/products/id"
    }]
}

In diesem Response bekommst Du also alle Informationen:

  • Name des Produkts
  • Dein Text
  • Bilder und Videos

Bilder werden oft von einem Storage geladen, genauer gesagt von einem CDN (auch HTTP basiert). Das ist technologisch die derzeit performanteste Lösung (und in der Regel auch die günstigste).
Videos werden i.d.R. mit Hilfe von Streaming Services übertragen (heutzutage meist HTML5 Video Streaming).

D
Dimitri Themenstarter:in
5 Beiträge seit 2019
vor 4 Jahren

Vielen Dank für Ausführliche Antwort.
Json Objekt müsste ich mal anschauen. Das Script wird also als Json Objekt in das Projekt eingebunden und ruft die Daten ab, so wie ich verstanden habe, sagen wir mal das Produkt "Smartphone" wird bildlich in einer Picturebox dargestellt und mit einem Klick-Event kann ich dann ein Fenster öffnen wo mir der Rest dargestellt wird das wäre eine Beschreibung und ein Video in einem Stream.

16.827 Beiträge seit 2008
vor 4 Jahren

Ob das nachher ein Json ist oder ein XML spielt keine Rolle. Json hat weniger Overhead als XML, daher wird meist Json eingesetzt.
Geht darum, dass die jeweils getrennten Informationen sauber jeweils optimiert übertragen werden.

Schau Dir einfach mal den Überblick von https://restfulapi.net/ an.

D
Dimitri Themenstarter:in
5 Beiträge seit 2019
vor 4 Jahren

Ich danke dir für die Hilfe, werde dies heute Abend noch umsetzen.

Gruss

Dimitri