Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
javab_20230928
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
javab_20230928
Commits
0b92977e
Commit
0b92977e
authored
Oct 18, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PhotoUpload
parent
8913ded6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
0 deletions
+75
-0
PhotoUpload.java
PC25-SklepWeb/src/main/java/sklep/web/PhotoUpload.java
+40
-0
photo_upload.jsp
PC25-SklepWeb/src/main/webapp/photo_upload.jsp
+34
-0
products9.jsp
PC25-SklepWeb/src/main/webapp/products9.jsp
+1
-0
No files found.
PC25-SklepWeb/src/main/java/sklep/web/PhotoUpload.java
0 → 100644
View file @
0b92977e
package
sklep
.
web
;
import
java.io.IOException
;
import
jakarta.servlet.ServletException
;
import
jakarta.servlet.annotation.MultipartConfig
;
import
jakarta.servlet.annotation.WebServlet
;
import
jakarta.servlet.http.HttpServlet
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.servlet.http.Part
;
// Włączona obsługa zapytań multipart ("z załącznikami"). Maks rozmiar zapytania/pliku: 16M
@WebServlet
(
"/photo_upload"
)
@MultipartConfig
(
maxRequestSize
=
16
*
1024
*
1024
)
public
class
PhotoUpload
extends
HttpServlet
{
private
static
final
long
serialVersionUID
=
1L
;
protected
void
doPost
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
ServletException
,
IOException
{
try
{
String
paramId
=
request
.
getParameter
(
"productId"
);
if
(
paramId
!=
null
)
{
int
productId
=
Integer
.
parseInt
(
paramId
);
Part
part
=
request
.
getPart
(
"plik"
);
if
(
part
!=
null
)
{
// przysłano plik
// Tutaj nazwa pliku jest dla nas bez znaczenia, ale gdybyśmy potrzebowali, to w ten sposób:
// String nazwaPliku = part.getSubmittedFileName();
// Przypisujemy bajty ze strumienia do pliku w katalogu ze zdjęciami:
PhotoUtil
.
writeStream
(
productId
,
part
.
getInputStream
());
}
}
}
catch
(
Exception
e
)
{
// wypisujemy błąd, ale metoda kończy się normalnie
e
.
printStackTrace
();
}
response
.
sendRedirect
(
"products9.jsp"
);
}
}
PC25-SklepWeb/src/main/webapp/photo_upload.jsp
0 → 100644
View file @
0b92977e
<
%@
page
language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%
>
<
%@
taglib
prefix=
"c"
uri=
"jakarta.tags.core"
%
>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
Edycja zdjęcia
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"styl.css"
>
</head>
<body>
<h1>
Wgraj zdjęcie produktu
</h1>
<div>
Produkt nr
<strong>
${param.productId}
</strong></div>
<div>
Aktualne zdjęcie:
<br/>
<img
class=
"photo"
src=
"photo?productId=${param.productId}"
alt=
"Brak zdjęcia"
>
</div>
<
%
--
action
powoduje
,
ż
e
zapytanie
z
formularza
jest
wysy
ł
ane
pod
podany
adres
,
a
nie
bie
żą
cy
.
Aby
wys
ł
a
ć
zawarto
ść
pliku
(
a
nie
tylko
jego
nazw
ę),
nale
ż
y
ustawi
ć
enctype
jak
poni
ż
ej
.
Sam
plik
to
pole
formularza
typu
file
;
opr
ó
cz
niego
mog
ą
by
ć
inne
„
zwyk
ł
e
”
pola
.
Odpowiednio
trzeba
to
te
ż
obs
ł
u
ż
y
ć
w
serwlecie
-
patrz
klasa
DoUploadPhoto
.
--
%
>
<form
id=
"photo-form"
method=
"post"
action=
"photo_upload"
enctype=
"multipart/form-data"
>
<input
type=
"hidden"
name=
"productId"
value=
"${param.productId}"
>
<label
for=
"plik"
>
Wybierz plik ze zdjęciem
</label>
<input
id=
"plik"
type=
"file"
name=
"plik"
accept=
"image/jpeg"
>
<br>
<button>
Wyślij
</button>
</form>
<p>
[
<a
href=
"products9.jsp"
>
powrót do listy produktów
</a>
]
</p>
<p>
[
<a
href=
"index.html"
>
powrót do spisu treści
</a>
]
</p>
</body>
</html>
PC25-SklepWeb/src/main/webapp/products9.jsp
View file @
0b92977e
...
@@ -49,6 +49,7 @@
...
@@ -49,6 +49,7 @@
</c:if>
</c:if>
<div
class=
"action"
><a
href=
"add_to_basket?productId=${product.productId}"
>
dodaj do koszyka
</a></div>
<div
class=
"action"
><a
href=
"add_to_basket?productId=${product.productId}"
>
dodaj do koszyka
</a></div>
<div
class=
"action"
><a
href=
"edit?productId=${product.productId}"
>
edytuj
</a></div>
<div
class=
"action"
><a
href=
"edit?productId=${product.productId}"
>
edytuj
</a></div>
<div
class=
"action"
><a
href=
"photo_upload.jsp?productId=${product.productId}"
>
zmień zdjęcie
</a></div>
</div>
</div>
</c:forEach>
</c:forEach>
<div
class=
"action"
><a
href=
"edit"
>
Dodaj nowy produkt
</a></div>
<div
class=
"action"
><a
href=
"edit"
>
Dodaj nowy produkt
</a></div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment