Commit 0bf650a5 by Patryk Czarnik

@MTOM i operacja zapiszFoto

parent 6ccbb29f
......@@ -7,6 +7,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.StandardOpenOption;
import sklep.db.DBException;
import sklep.db.DBSettings;
......@@ -46,6 +47,16 @@ public class PhotoUtil {
}
}
public static void writeBytes(int productId, byte[] bytes) {
try {
Path path = getPath(productId);
Files.write(path, bytes, StandardOpenOption.CREATE);
} catch (Exception e) {
// wypisujemy błąd, ale metoda kończy się normalnie
e.printStackTrace();
}
}
private static Path getPath(int productId) throws DBException {
String dir = DBSettings.load().getProperty("photo_dir");
String fileName = productId + EXT;
......
......@@ -7,6 +7,7 @@ import java.util.List;
import jakarta.jws.WebParam;
import jakarta.jws.WebResult;
import jakarta.jws.WebService;
import jakarta.xml.ws.soap.MTOM;
import sklep.db.CustomerDAO;
import sklep.db.DBConnection;
import sklep.db.DBException;
......@@ -18,6 +19,7 @@ import sklep.model.Order;
import sklep.model.Product;
@WebService
@MTOM
public class Sklep {
// Tutaj nie ma adnotacji @WebParam ani @WebResult, więc argument w XML nazywa się <arg0>, a wynik <return>
public String hello(String imie) {
......@@ -102,4 +104,9 @@ public class Sklep {
public byte[] foto(@WebParam(name="id") int productId) throws DBException, RecordNotFound {
return PhotoUtil.readBytes(productId);
}
public void zapiszFoto(@WebParam(name="id") int productId,
@WebParam(name="bytes") byte[] bytes) {
PhotoUtil.writeBytes(productId, bytes);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment