Vor allem hier ist mein Code:Wie verwende ich ein einzelnes HTML-Formular, um ein Bild hochzuladen und seine Details mit einer einzigen Schaltfläche zum Senden zu speichern?
<form id="registration_form" action="AddProductServlet" method="post">
<div>
<label>
<input placeholder="Product ID" name="pid" type="text">
</label>
</div>
<div>
<label>
<input placeholder="Product Name" name="pname" type="text">
</label>
</div>
<div>
<h3> Choose Image to Upload </h3>
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Add Product" />
</form>
</div>
</form>
Wie ich hier getan haben, ein Formular-Tag in einem Formular-Tag aufweist, ist ungültig.
Auch da ist es nicht möglich, die zwei verschiedenen Aktionen innerhalb des gleichen Form-Tags aufzurufen.
Also gibt es eine Möglichkeit, ich kann sowohl das Bild auf mein lokales Laufwerk hochladen und auch die Produktdetails und den Bildnamen in der Datenbank für den späteren Abruf gespeichert werden?
Behandeln Sie den Upload in der 'AddProductServlet' Aktion, zusammen mit dem Rest der Daten. Und fügen Sie 'enctype =" multipart/form-data "' Attribut zu Ihrem '# Registrierungsformular' hinzu. – beerwin
Entfernen Sie auch das innere Formular-Tag, lassen Sie nur das Upload-Feld und den Absenden-Button. – beerwin