fix: affiliation request page minor bug

This commit is contained in:
2024-07-16 14:24:52 +02:00
parent 2737e53de5
commit 6407bf44bc
4 changed files with 89 additions and 28 deletions

View File

@@ -40,7 +40,6 @@ public class Utils {
}
public static Uni<String> moveMedia(long idSrc, long idDest, String media, String dirSrc, String dirDst) {
System.out.println("moveMedia: " + idSrc + " -> " + idDest + " " + media + " " + dirSrc + " " + dirDst);
return Uni.createFrom().nullItem().map(__ -> {
File dirFile = new File(media, dirSrc);
if (!dirFile.exists())
@@ -51,12 +50,12 @@ public class Utils {
if (!dirDestFile.mkdirs())
return "Fail to create directory " + dirDestFile;
FilenameFilter filter = (directory, filename) -> filename.startsWith(String.valueOf(idSrc));
FilenameFilter filter = (directory, filename) -> filename.startsWith(idSrc + ".");
File[] files = dirFile.listFiles(filter);
if (files == null || files.length == 0)
return "Not found";
FilenameFilter filter2 = (directory, filename) -> filename.startsWith(String.valueOf(idDest));
FilenameFilter filter2 = (directory, filename) -> filename.startsWith(idDest + ".");
File[] files2 = dirDestFile.listFiles(filter2);
if (files2 != null) {
for (File file : files2) {
@@ -96,7 +95,7 @@ public class Utils {
if (!dirFile.mkdirs())
throw new IOException("Fail to create directory " + dir);
FilenameFilter filter = (directory, filename) -> filename.startsWith(String.valueOf(id));
FilenameFilter filter = (directory, filename) -> filename.startsWith(id +".");
File[] files = dirFile.listFiles(filter);
if (files != null) {
for (File file : files) {
@@ -122,7 +121,7 @@ public class Utils {
public static Uni<Response> getMediaFile(long id, String media, String dirname, String out_filename,
Uni<?> uniBase) throws URISyntaxException {
Future<Pair<File, byte[]>> future = CompletableFuture.supplyAsync(() -> {
FilenameFilter filter = (directory, filename) -> filename.startsWith(String.valueOf(id));
FilenameFilter filter = (directory, filename) -> filename.startsWith(id + ".");
File[] files = new File(media, dirname).listFiles(filter);
if (files != null && files.length > 0) {
File file = files[0];
@@ -150,9 +149,25 @@ public class Utils {
resp.header(HttpHeaders.CONTENT_TYPE, mimeType);
resp.header(HttpHeaders.CONTENT_DISPOSITION,
"inline; " + ((out_filename == null) ? "" : "filename=\"" + out_filename + "\""));
System.out.println("getMediaFile: " + mimeType);
return resp.build();
}));
}
public static Uni<?> deleteMedia(long id, String media, String dir) {
return Uni.createFrom().nullItem().map(__ -> {
File dirFile = new File(media, dir);
if (!dirFile.exists())
return "OK";
FilenameFilter filter = (directory, filename) -> filename.startsWith(id + ".");
File[] files = dirFile.listFiles(filter);
if (files != null) {
for (File file : files) {
//noinspection ResultOfMethodCallIgnored
file.delete();
}
}
return "Ok";
});
}
}