diff --git a/libsrc/uploader/src/com/jpexs/uploader/Uploader.java b/libsrc/uploader/src/com/jpexs/uploader/Uploader.java index 0fb28492e..23ce2cafb 100644 --- a/libsrc/uploader/src/com/jpexs/uploader/Uploader.java +++ b/libsrc/uploader/src/com/jpexs/uploader/Uploader.java @@ -33,6 +33,7 @@ import javax.swing.UIManager; public class Uploader { private static class MultipartUtility { + private final String boundary; private static final String LINE_FEED = "\r\n"; private HttpURLConnection httpConn; @@ -53,7 +54,7 @@ public class Uploader { this.charset = charset; // creates a unique boundary based on time stamp - boundary = "===" + System.currentTimeMillis() + "==="; + boundary = Long.toHexString(System.currentTimeMillis()); URL url = new URL(requestURL); httpConn = (HttpURLConnection) url.openConnection(); @@ -155,125 +156,121 @@ public class Uploader { } reader.close(); httpConn.disconnect(); - + return status == HttpURLConnection.HTTP_OK; } } - + private static List types = new ArrayList<>(); private static List names = new ArrayList<>(); private static List values = new ArrayList<>(); private static List labels = new ArrayList<>(); public static void main(String[] args) { - - if(args.length<1){ + + if (args.length < 1) { System.err.println("1"); System.exit(1); } - + String charset = "UTF-8"; String requestURL = args[0]; - - - for(int i=1;i texts=new ArrayList<>(); + if (args[i].equals("-emptyfield")) { + types.add("field"); + names.add(args[i + 1]); + values.add(""); + labels.add(""); + i += 2; + } + if (args[i].equals("-textarea")) { + types.add("textarea"); + names.add(args[i + 1]); + labels.add(args[i + 2]); + values.add(""); + i += 2; + } + if (args[i].equals("-file")) { + types.add("file"); + names.add(args[i + 1]); + values.add(args[i + 2]); + labels.add(""); + i += 2; + } + } + + List texts = new ArrayList<>(); List textLabels = new ArrayList<>(); - List textIndices=new ArrayList<>(); - - for(int i=0;i textIndices = new ArrayList<>(); + + for (int i = 0; i < types.size(); i++) { + if (types.get(i).equals("textarea")) { JTextArea t = new JTextArea(); - t.setPreferredSize(new Dimension(400,100)); + t.setPreferredSize(new Dimension(400, 100)); texts.add(t); textLabels.add(new JLabel(labels.get(i))); textIndices.add(i); } } - if(!texts.isEmpty()){ - JPanel pan=new JPanel(); + if (!texts.isEmpty()) { + JPanel pan = new JPanel(); pan.setLayout(new BoxLayout(pan, BoxLayout.Y_AXIS)); - for(int i=0;i response = new ArrayList<>(); boolean ok = multipart.finish(response); - - + for (String line : response) { - if(ok){ + if (ok) { System.out.println(line); - }else{ + } else { System.err.println(line); } } - System.exit(ok?0:1); + System.exit(ok ? 0 : 1); } catch (IOException ex) { ex.printStackTrace(); System.exit(1); diff --git a/uploader.jar b/uploader.jar index 388bbe807..0793f1ace 100644 Binary files a/uploader.jar and b/uploader.jar differ