From 0adf607af28ebacbc4701ee2ce3a2a5ef34d53e3 Mon Sep 17 00:00:00 2001 From: paolobiavati Date: Thu, 13 Sep 2012 18:19:32 +0300 Subject: [PATCH 1/3] Update src/info/sudr/file/UploadServlet.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) init() method:  I fixed a bug (?) in the init() to the fileUploadPath  initialization. In my localhost execution the item.write(file); in doPost method throwed an exception. Now with the correct realPath it's ok. 2) doGet() method In the doGet method I add the feature to list all the uploaded files, already uploaded in the uploadedFolder. --- src/info/sudr/file/UploadServlet.java | 37 ++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/src/info/sudr/file/UploadServlet.java b/src/info/sudr/file/UploadServlet.java index dbcd93b..fa879ca 100644 --- a/src/info/sudr/file/UploadServlet.java +++ b/src/info/sudr/file/UploadServlet.java @@ -25,7 +25,9 @@ public class UploadServlet extends HttpServlet { @Override public void init(ServletConfig config) { - fileUploadPath = new File(config.getInitParameter("upload_path")); + // + // I fixed the uploadpath with the right realPath + fileUploadPath = new File(config.getServletContext().getRealPath(config.getInitParameter("upload_path"))); } /** @@ -93,8 +95,37 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t } } // TODO: check and report success } else { - PrintWriter writer = response.getWriter(); - writer.write("call POST with multipart form data"); + // + // return the list of all files in the upload folder + PrintWriter writer = response.getWriter(); + response.setContentType("application/json"); + JSONArray json = new JSONArray(); + + try { + // + // loop all files in the folder + File[] fileList = fileUploadPath.listFiles(); + if (fileList != null) { + for (File f : fileList) { + if (f.isFile()) { + JSONObject jsono = new JSONObject(); + jsono.put("name", f.getName()); + jsono.put("size", f.length()); + jsono.put("url", "upload?getfile=" + f.getName()); + jsono.put("thumbnail_url", "upload?getthumb=" + f.getName()); + jsono.put("delete_url", "upload?delfile=" + f.getName()); + jsono.put("delete_type", "GET"); + json.put(jsono); + + } + } + } + } catch (Exception e) { + throw new RuntimeException(e); + } finally { + writer.write(json.toString()); + writer.close(); + } } } From 6c1ea4efedb7e111f22de40473e3d7dddff5ebde Mon Sep 17 00:00:00 2001 From: paolobiavati Date: Sun, 16 Sep 2012 00:06:48 +0300 Subject: [PATCH 2/3] Update src/info/sudr/file/UploadServlet.java manage other parameters from form input fields or formData option see documentation : https://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional-Form-Data --- src/info/sudr/file/UploadServlet.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/info/sudr/file/UploadServlet.java b/src/info/sudr/file/UploadServlet.java index fa879ca..3f9c47c 100644 --- a/src/info/sudr/file/UploadServlet.java +++ b/src/info/sudr/file/UploadServlet.java @@ -146,7 +146,14 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) response.setContentType("application/json"); JSONArray json = new JSONArray(); try { + // + // this list is for file items List items = uploadHandler.parseRequest(request); + // + // this map will contains other parameters from form input fields or formData option + // see documentation : https://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional-Form-Data + Map otherParameters = new HashMap(); + // for (FileItem item : items) { if (!item.isFormField()) { File file = new File(fileUploadPath, item.getName()); @@ -160,6 +167,12 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) jsono.put("delete_type", "GET"); json.put(jsono); } + else { + // + // these are the other form fields or elements of formData option + otherParameters.put(item.getFieldName(), item.getString()); + + } } } catch (FileUploadException e) { throw new RuntimeException(e); From e40c382a1d9c704ddd2d3519bfd675763f97f75f Mon Sep 17 00:00:00 2001 From: paolobiavati Date: Sun, 16 Sep 2012 00:08:57 +0300 Subject: [PATCH 3/3] Update src/info/sudr/file/UploadServlet.java --- src/info/sudr/file/UploadServlet.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/info/sudr/file/UploadServlet.java b/src/info/sudr/file/UploadServlet.java index 3f9c47c..869c023 100644 --- a/src/info/sudr/file/UploadServlet.java +++ b/src/info/sudr/file/UploadServlet.java @@ -3,6 +3,8 @@ import java.awt.image.BufferedImage; import java.io.*; import java.util.List; +import java.util.Map; +import java.util.HashMap; import javax.imageio.ImageIO; import javax.servlet.ServletConfig; import javax.servlet.ServletException;