private long calcMultipartFormDataBodyLength(final MultipartFormData<?> multipartFormData) { final String boundaryToContentTypeStart = MultipartFormatter.boundaryToContentType(""); final String boundary = getHeaders().get(HeaderNames.CONTENT_TYPE) .filter(ct -> ct.startsWith(boundaryToContentTypeStart)) .map(ct -> "\r\n--" + ct.substring(boundaryToContentTypeStart.length())) .orElseThrow(() -> new RuntimeException(("Content-Type header starting with \"" + boundaryToContentTypeStart + "\" needs to be present"))); long dataSizeSum = multipartFormData.asFormUrlEncoded().entrySet().stream().mapToLong(dataPart -> Arrays.stream(dataPart.getValue()).mapToLong(value -> partLength(boundary, "form-data", dataPart.getKey() + (dataPart.getValue().length > 1 ? "[]" : ""), null, null, value) ).sum()).sum(); long fileHeadersSizeSum = multipartFormData.getFiles().stream() .mapToLong(filePart -> // Pass empty body because we add the file size sum later instead anyway (see next assignment below) partLength(boundary, filePart.getDispositionType(), filePart.getKey(), filePart.getFilename(), filePart.getContentType(), "") ).sum(); long fileSizeSum = multipartFormData.getFiles().stream().mapToLong(filePart -> filePart.getFileSize()).sum(); long length = dataSizeSum + fileHeadersSizeSum + fileSizeSum; if(length > 0) { // Remove trailing "\r\n" from first boundary length -= 2; // Add last boundary with double dash (--) at the end length += (boundary + "--").getBytes(StandardCharsets.UTF_8).length; } return length; }
multipartFormData = request.body().asMultipartFormData().asFormUrlEncoded();
multipartFormData = request.body().asMultipartFormData().asFormUrlEncoded();
Map<String, String[]> form = req.body().asMultipartFormData().asFormUrlEncoded(); String[] values = form.get(config.tokenName()); if (values != null && values.length > 0) {
Map<String, String[]> form = req.body().asMultipartFormData().asFormUrlEncoded(); String[] values = form.get(config.tokenName()); if (values != null && values.length > 0) {
protected Map<String,String> requestData(Http.Request request) { Map<String,String[]> urlFormEncoded = new HashMap<>(); if (request.body().asFormUrlEncoded() != null) { urlFormEncoded = request.body().asFormUrlEncoded(); } Map<String,String[]> multipartFormData = new HashMap<>(); if (request.body().asMultipartFormData() != null) { multipartFormData = request.body().asMultipartFormData().asFormUrlEncoded(); } Map<String,String> jsonData = new HashMap<>(); if (request.body().asJson() != null) { jsonData = play.libs.Scala.asJava( play.api.data.FormUtils.fromJson("", play.api.libs.json.Json.parse( play.libs.Json.stringify(request.body().asJson()) ) ) ); } Map<String,String> data = new HashMap<>(); fillDataWith(data, urlFormEncoded); fillDataWith(data, multipartFormData); jsonData.forEach(data::put); if(!request.method().equalsIgnoreCase(HttpVerbs.POST) && !request.method().equalsIgnoreCase(HttpVerbs.PUT) && !request.method().equalsIgnoreCase(HttpVerbs.PATCH)) { fillDataWith(data, request.queryString()); } return data; }
protected Map<String,String> requestData(Http.Request request) { Map<String,String[]> urlFormEncoded = new HashMap<>(); if (request.body().asFormUrlEncoded() != null) { urlFormEncoded = request.body().asFormUrlEncoded(); } Map<String,String[]> multipartFormData = new HashMap<>(); if (request.body().asMultipartFormData() != null) { multipartFormData = request.body().asMultipartFormData().asFormUrlEncoded(); } Map<String,String> jsonData = new HashMap<>(); if (request.body().asJson() != null) { jsonData = play.libs.Scala.asJava( play.api.data.FormUtils.fromJson("", play.api.libs.json.Json.parse( play.libs.Json.stringify(request.body().asJson()) ) ) ); } Map<String,String> data = new HashMap<>(); fillDataWith(data, urlFormEncoded); fillDataWith(data, multipartFormData); jsonData.forEach(data::put); if(!request.method().equalsIgnoreCase(HttpVerbs.POST) && !request.method().equalsIgnoreCase(HttpVerbs.PUT) && !request.method().equalsIgnoreCase(HttpVerbs.PATCH)) { fillDataWith(data, request.queryString()); } return data; }
protected Map<String,String> requestData(Http.Request request) { Map<String,String[]> urlFormEncoded = new HashMap<>(); if (request.body().asFormUrlEncoded() != null) { urlFormEncoded = request.body().asFormUrlEncoded(); } Map<String,String[]> multipartFormData = new HashMap<>(); if (request.body().asMultipartFormData() != null) { multipartFormData = request.body().asMultipartFormData().asFormUrlEncoded(); } Map<String,String> jsonData = new HashMap<>(); if (request.body().asJson() != null) { jsonData = play.libs.Scala.asJava( play.api.data.FormUtils.fromJson("", play.api.libs.json.Json.parse( play.libs.Json.stringify(request.body().asJson()) ) ) ); } Map<String,String> data = new HashMap<>(); fillDataWith(data, urlFormEncoded); fillDataWith(data, multipartFormData); jsonData.forEach(data::put); if(!request.method().equalsIgnoreCase(HttpVerbs.POST) && !request.method().equalsIgnoreCase(HttpVerbs.PUT) && !request.method().equalsIgnoreCase(HttpVerbs.PATCH)) { fillDataWith(data, request.queryString()); } return data; }
private Result postFile(String sid) { // System.out.println("POST FILE CALLED: " + sid); Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { // System.out.println("**** NO FILE ****"); return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); List<String> lines; try { lines = FileUtils.readLines(file); } catch (IOException e) { // System.out.println("**** COULD NOT READ FILE ****"); return badRequest("Could not read from uploaded file"); } knownSessionIDs.put(sid, lines); return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); } }
private Result postFile(String sid) { // System.out.println("POST FILE CALLED: " + sid); Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { // System.out.println("**** NO FILE ****"); return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); List<String> lines; try { lines = FileUtils.readLines(file); } catch (IOException e) { // System.out.println("**** COULD NOT READ FILE ****"); return badRequest("Could not read from uploaded file"); } knownSessionIDs.put(sid, lines); return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); } }
private Result postFile(String sid) { // System.out.println("POST FILE CALLED: " + sid); Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { // System.out.println("**** NO FILE ****"); return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); List<String> lines; try { lines = FileUtils.readLines(file); } catch (IOException e) { // System.out.println("**** COULD NOT READ FILE ****"); return badRequest("Could not read from uploaded file"); } knownSessionIDs.put(sid, lines); return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); } }
private Result uploadFile() { Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); try { uploadedFileLines = FileUtils.readLines(file); } catch (IOException e) { return badRequest("Could not read from uploaded file"); } return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); }
private Result uploadFile() { Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); try { uploadedFileLines = FileUtils.readLines(file); } catch (IOException e) { return badRequest("Could not read from uploaded file"); } return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); }
private Result uploadFile() { Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); if (fileParts.size() <= 0) { return badRequest("No file uploaded"); } Http.MultipartFormData.FilePart uploadedFile = fileParts.get(0); String fileName = uploadedFile.getFilename(); String contentType = uploadedFile.getContentType(); File file = uploadedFile.getFile(); try { uploadedFileLines = FileUtils.readLines(file); } catch (IOException e) { return badRequest("Could not read from uploaded file"); } return ok("File uploaded: " + fileName + ", " + contentType + ", " + file); }
Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> files = body.getFiles(); int fileCount = files.size();
Http.MultipartFormData body = request().body().asMultipartFormData(); List<Http.MultipartFormData.FilePart> fileParts = body.getFiles(); for (Http.MultipartFormData.FilePart filePart : fileParts) { if (filePart.getFilename().toLowerCase().endsWith(".png")) { String filename = filePart.getFilename(); Files.write(Paths.get(filename + ".png"), readContentIntoByteArray((File) filePart.getFile())); } else { return badRequest("Invalid request, only PNGs are allowed."); } }
Http.MultipartFormData body = request().body().asMultipartFormData(); for(Http.MultipartFormData.FilePart part : body.getFiles()){ Logger.debug(part.getFilename()); Logger.debug(part.getKey()); Logger.debug(part.getContentType()); Logger.debug(part.getFile().getName()); Logger.debug(part.getFile().getAbsolutePath()); Logger.debug(String.valueOf(part.getFile().getTotalSpace())); }
public ServiceResult execute(final Http.MultipartFormData request) { final String DIRECTORY = "C:\\SAVE_DIRECTORY\\SUB_FOLDER\\uploads"; List<Http.MultipartFormData.FilePart> targetFiles = request.getFiles(); for (int i = 0; i < targetFiles.size(); i++) { File file = targetFiles.get(i).getFile(); String fileName = targetFiles.get(i).getFilename(); file.renameTo(new File(DIRECTORY, fileName)); } return new ServiceResult(Json.toJson(targetFiles)); }
protected Map<String,Http.MultipartFormData.FilePart<?>> requestFileData(Http.Request request) { final Http.MultipartFormData multipartFormData = request.body().asMultipartFormData(); if (multipartFormData != null) { return resolveDuplicateFilePartKeys(multipartFormData.getFiles()); } return new HashMap<>(); }
// get all request content as MultipartFormData Http.MultipartFormData formData = request().body().asMultipartFormData(); // get the form data Http.MultipartFormData.FilePart attachment = formData.getFile("attachment"); String[] searchTag = formData.asFormUrlEncoded().get("questionTag"); // works!!