Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Bildupload EJB3

Empfohlene Antworten

Veröffentlicht

Hallo,

ich bin ziemlich neu im Java-Umfeld und bin jetzt gerade dabei, einen Bildupload zu programmieren. Kann mir vielleicht jemand sagen, wie genau ich das schreiben muss, dass beim Anklicken des Buttons auch wirklich etwas in der MySQL-Datenbank gespeichert wird?

Vielen Dank,

Molly

Servus,

Welcher Button, welches System (EJB3 reicht als Aussage nicht, weil es dort keine Buttons gibt), was gibt es schon und was genau geht nicht wie erwartet?

Bei Deiner Frage kann alles oder nichts gemeint sein.

Peter

Also ich arbeite mit JSP und JSF. Da ich in dem Bereich noch ziemlich neu bin, weiß ich nicht, wie man das Programmieren muss, dass die Datenbank erreicht wird. Um genauer zu sein, geht es bei mir darum, ein Bild hochladen und in der Datenbank speichern zu können.

<form action="spielerprofil.jsp" enctype="multipart/form-data" method="POST">

<label for="file">Bild:</label>

<input id="fileupload" type="file" name="fileupload" />

<input type="submit" value="Speichern" />

</form>

Habe den Upload bis jetzt nur so. Aber so weiß das System ja nicht, dass ich das auch in der Datenbank haben möchte..

Muss ich dass in einer Funktion machen? Oder reicht da ein Befehl?

Servus,

weder noch. Du brauchst auf der Serverseite jemanden (ein Servlet), der den Request vom Client entgegen nimmt und aus dem Request die hochgeladene Datei herausliest. Hier gibt es von Apache entsprechende Klassen ("Apache Fileupload" bei Google). Dann hast Du eine Menge an Bytes, die der Inhalt der Datei sind. Die musst Du jetzt in Deine Datenbank schieben. Hier kommt es darauf an, mit welcher Technologie Du arbeitest (EJB3 und JPA, JDO, Hibernate, JDBC, ...). Dort ist es einfach ein ablegen der Daten in einem BLOB Feld.

Mein Tipp: schau mal, wie Du den Datenstrom aus dem Request extrahierst und kümmer Dich erst dann um die Speicherung desselben.

Peter

Meinst du, dass ich in der Bean erst einmal ein Query erstellen muss?

Ich meine, Du solltest erst mal die binären Daten aus dem Request lesen (s.o.). Danach musst Du keine Query erstellen (ich gehe jetzt einfach mal von JPA aus, nachdem Du nichts dazu sagst), sondern Du musst Deinem JPA POJO (oder der EJB3 Persistence Bean) eine Eigenschaft data vom Typ byte[] verpassen und aus dem Service, der die Bean persistiert (evtl. eine EJB3 Session Bean) ein entsprechend befülltes POJO übergeben.

Aber wichtiger: setz Dich mit den Grundlagen von EJB3 und JPA auseinander, das hört sich sehr nach rumgewurschtel und ausprobieren an. Und dafür sind Enterprise Technologien in der Regel zu komplex.

Peter

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.