Я использую Spark Java с зависимостью ниже, и я пытаюсь сделать одну конечную точку API для получения файла с использованием Multipart File, ниже приведен код, я пробовал несколько способов сделать это, но каждый раз, когда я получаю запрос. Пожалуйста, поправьте меня, где я ошибаюсь.
public class FileUploadRoutesNew {
public void registerRoutes() {
post("/upload/new", "multipart/form-data", (request, response) -> {
// Enable multipart support
String location = "/tmp"; // the directory location where files will be stored
long maxFileSize = 100000000; // the maximum size allowed for uploaded files
long maxRequestSize = 100000000; // the maximum size allowed for multipart/form-data requests
int fileSizeThreshold = 1024; // the size threshold after which files will be written to disk
MultipartConfigElement multipartConfigElement = new MultipartConfigElement(
location, maxFileSize, maxRequestSize, fileSizeThreshold);
request.raw().setAttribute("org.eclipse.jetty.multipartConfig",
multipartConfigElement);
Collection
parts = request.raw().getParts();
for (Part part : parts) {
System.out.println("Name: " + part.getName());
System.out.println("Size: " + part.getSize());
System.out.println("Filename: " + part.getSubmittedFileName());
}
try {
Part filePart = request.raw().getPart("file_upload"); // "file" is the form field name
String fileName = filePart.getSubmittedFileName();
File uploadDir = new File("uploads");
uploadDir.mkdirs(); // Create the directory if not exists
File uploadedFile = new File(uploadDir, fileName);
try (InputStream is = filePart.getInputStream();
OutputStream os = new FileOutputStream(uploadedFile)) {
IOUtils.copy(is, os);
}
filePart.delete(); // Clean up temp file
response.status(200);
return "File uploaded successfully: " + fileName;
} catch (Exception e) {
e.printStackTrace();
response.status(500);
return "File upload failed: " + e.getMessage();
}
});
}
Я использую Spark Java с зависимостью ниже, и я пытаюсь сделать одну конечную точку API для получения файла с использованием Multipart File, ниже приведен код, я пробовал несколько способов сделать это, но каждый раз, когда я получаю запрос. Пожалуйста, поправьте меня, где я ошибаюсь.[code]public class FileUploadRoutesNew {
public void registerRoutes() { post("/upload/new", "multipart/form-data", (request, response) -> { // Enable multipart support String location = "/tmp"; // the directory location where files will be stored long maxFileSize = 100000000; // the maximum size allowed for uploaded files long maxRequestSize = 100000000; // the maximum size allowed for multipart/form-data requests int fileSizeThreshold = 1024; // the size threshold after which files will be written to disk