diff --git a/src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java b/src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java index ffdff990b..28b084396 100644 --- a/src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java +++ b/src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java @@ -70,6 +70,9 @@ public class ApiAdminStorageAction extends FessApiAdminAction { try { downloadObject(getObjectName(values[0], values[1]), out); } catch (final StorageException e) { + if (logger.isDebugEnabled()) { + logger.debug("Failed to download " + id, e); + } throwValidationErrorApi(messages -> messages.addErrorsStorageFileDownloadFailure(GLOBAL, values[1])); } }); @@ -88,24 +91,32 @@ public class ApiAdminStorageAction extends FessApiAdminAction { saveInfo(messages -> messages.addSuccessDeleteFile(GLOBAL, values[1])); return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result()); } catch (final StorageException e) { + if (logger.isDebugEnabled()) { + logger.debug("Failed to delete " + id, e); + } throwValidationErrorApi(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, values[1])); } return null; } + // curl -XPOST -H "Authorization: CHANGEME" localhost:8080/api/admin/storage/upload/ -F path=/ -F file=@... // POST /api/admin/storage/upload/{pathId}/ @Execute - public JsonResponse post$upload(final String pathId, final UploadForm form) { + public JsonResponse post$upload(final UploadForm form) { validateApi(form, messages -> {}); - if (form.uploadFile == null) { + if (form.file == null) { throwValidationErrorApi(messages -> messages.addErrorsStorageNoUploadFile(GLOBAL)); } + final String fileName = form.file.getFileName(); try { - uploadObject(getObjectName(decodeId(pathId)[0], form.uploadFile.getFileName()), form.uploadFile); - saveInfo(messages -> messages.addSuccessUploadFileToStorage(GLOBAL, form.uploadFile.getFileName())); + uploadObject(getObjectName(form.path, fileName), form.file); + saveInfo(messages -> messages.addSuccessUploadFileToStorage(GLOBAL, fileName)); return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result()); } catch (final StorageException e) { - throwValidationErrorApi(messages -> messages.addErrorsStorageFileUploadFailure(GLOBAL, form.uploadFile.getFileName())); + if (logger.isDebugEnabled()) { + logger.debug("Failed to upload " + fileName, e); + } + throwValidationErrorApi(messages -> messages.addErrorsStorageFileUploadFailure(GLOBAL, fileName)); } return null; } diff --git a/src/main/java/org/codelibs/fess/app/web/api/admin/storage/UploadForm.java b/src/main/java/org/codelibs/fess/app/web/api/admin/storage/UploadForm.java index 3c12ec5bf..00aa6553d 100644 --- a/src/main/java/org/codelibs/fess/app/web/api/admin/storage/UploadForm.java +++ b/src/main/java/org/codelibs/fess/app/web/api/admin/storage/UploadForm.java @@ -15,13 +15,14 @@ */ package org.codelibs.fess.app.web.api.admin.storage; -import org.codelibs.fess.app.web.admin.storage.ItemForm; import org.lastaflute.web.ruts.multipart.MultipartFormFile; import org.lastaflute.web.validation.Required; -public class UploadForm extends ItemForm { +public class UploadForm { + + public String path; @Required - public MultipartFormFile uploadFile; + public MultipartFormFile file; }