From 4296d842262a70db19c4fa269b98ef0497eb597e Mon Sep 17 00:00:00 2001 From: Nic0Nic0Nii Date: Thu, 19 May 2022 19:07:33 +0000 Subject: [PATCH] Fix file uploading to completely accept and write binary files --- Love_Live!_Logo.png | Bin 12167 -> 22012 bytes out/DIRECTORY_LISTING | 10 +++- out/articles/DIRECTORY_LISTING | 10 ++-- out/articles/curabitur vel tempus ex.article | 2 +- .../curabitur vel tempus ex.article.html | 2 +- out/articles/sigplace1.article | 2 +- out/articles/sigplace1.article.html | 2 +- out/articles/test articles/DIRECTORY_LISTING | 12 ++--- out/articles/test articles/test1.article | 2 +- out/articles/test articles/test1.article.html | 2 +- out/articles/test articles/test2.article | 2 +- out/articles/test articles/test2.article.html | 2 +- out/articles/test articles/test3.article | 2 +- out/articles/test articles/test3.article.html | 2 +- out/codeBackground | 24 +++++----- out/otherpage.html | 20 ++++---- out/uploads/Love_Live!_Logo.png | Bin 0 -> 12213 bytes out/uploads/Untitled.png | Bin 190 -> 0 bytes sigServer.java | 44 +++++++++++------- snippet | 1 + 20 files changed, 80 insertions(+), 61 deletions(-) create mode 100644 out/uploads/Love_Live!_Logo.png delete mode 100644 out/uploads/Untitled.png create mode 100644 snippet diff --git a/Love_Live!_Logo.png b/Love_Live!_Logo.png index 4cd1d5caf139c42c479625fc9f1da780bccdb4f5..a7704e2b123bec74a2fd86714545d26b0779f58c 100644 GIT binary patch literal 22012 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 literal 12167 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.err.println(Failed to build directory listings!"); return; } -

Directory Listing for /

+

Directory Listing for /

📁articles 2022-05-19T19:07:02.131093Z gitpod 190
+
🗎codeBackground 2022-05-19T19:07:02.067093Z gitpod 2635
+
🗎otherpage.html 2022-05-19T19:07:02.103093Z gitpod 9684
+
🗎reset.css 2022-05-19T19:07:02.075093Z gitpod 1093
+
🗎sig.css 2022-05-19T19:07:02.083093Z gitpod 5175
+
🗎testfile.html 2022-05-19T19:07:02.107093Z gitpod 1621
+
🗎uploadform.html 2022-05-19T19:07:02.107093Z gitpod 1676
+
📁uploads 2022-05-19T14:49:27Z gitpod 6
+
diff --git a/out/articles/DIRECTORY_LISTING b/out/articles/DIRECTORY_LISTING index 08018c2..0c67efc 100644 --- a/out/articles/DIRECTORY_LISTING +++ b/out/articles/DIRECTORY_LISTING @@ -30,11 +30,11 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

Directory Listing for \articles\

🗎curabitur vel tempus ex.article 2022-05-19T03:42:49.8911626Z LAPTOP-NEAKT518\sigon (User) 582
-
🗎curabitur vel tempus ex.article.html 2022-05-19T03:42:49.9478986Z LAPTOP-NEAKT518\sigon (User) 2088
-
🗎sigplace1.article 2022-05-19T03:42:49.8946864Z LAPTOP-NEAKT518\sigon (User) 3821
-
🗎sigplace1.article.html 2022-05-19T03:42:49.9512871Z LAPTOP-NEAKT518\sigon (User) 5316
-
📁test articles 2022-05-19T03:42:49.9718854Z LAPTOP-NEAKT518\sigon (User) 4096
+

Directory Listing for /articles/

🗎curabitur vel tempus ex.article 2022-05-19T19:07:02.055093Z gitpod 579
+
🗎sigplace1.article 2022-05-19T19:07:02.059093Z gitpod 3807
+
📁test articles 2022-05-19T19:07:02.123093Z gitpod 147
+
🗎curabitur vel tempus ex.article.html 2022-05-19T19:07:02.111093Z gitpod 2088
+
🗎sigplace1.article.html 2022-05-19T19:07:02.115093Z gitpod 5316
diff --git a/out/articles/curabitur vel tempus ex.article b/out/articles/curabitur vel tempus ex.article index 0299e0b..0db425c 100644 --- a/out/articles/curabitur vel tempus ex.article +++ b/out/articles/curabitur vel tempus ex.article @@ -1,3 +1,3 @@ -

Curabitur vel tempus ex

+

Curabitur vel tempus ex

Curabitur vel tempus ex. Duis cursus sapien nisl, ut pulvinar dui porttitor ut. Nullam odio purus, tristique non turpis sit amet, malesuada ultricies purus. Mauris ut nulla nisl. Aenean sit amet est egestas justo volutpat consequat. Suspendisse in sagittis augue, et mattis tortor. Nullam viverra metus et nibh fringilla iaculis.

29 Apr 2022 7:37PM
%CONDITIONAL_EXPAND%
diff --git a/out/articles/curabitur vel tempus ex.article.html b/out/articles/curabitur vel tempus ex.article.html index 864a1bc..1c43685 100644 --- a/out/articles/curabitur vel tempus ex.article.html +++ b/out/articles/curabitur vel tempus ex.article.html @@ -30,7 +30,7 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

Curabitur vel tempus ex

+

Curabitur vel tempus ex

Curabitur vel tempus ex. Duis cursus sapien nisl, ut pulvinar dui porttitor ut. Nullam odio purus, tristique non turpis sit amet, malesuada ultricies purus. Mauris ut nulla nisl. Aenean sit amet est egestas justo volutpat consequat. Suspendisse in sagittis augue, et mattis tortor. Nullam viverra metus et nibh fringilla iaculis.

29 Apr 2022 7:37PM
diff --git a/out/articles/sigplace1.article b/out/articles/sigplace1.article index 344fa39..0de275c 100644 --- a/out/articles/sigplace1.article +++ b/out/articles/sigplace1.article @@ -1,4 +1,4 @@ -

Welcome to SigPlace!

+

Welcome to SigPlace!

This is a SigPlace article! It will contain information that is important (probably) and will be layed out as such.

Paragraphs are automatically split up for readability and generated correctly via the parser. There's quite a bit of flexibility with the system and makes it easy to post updates should they be required.

A lot of content management systems would do this by having a web interface and submitting content and managing it that way, but by coding my own management system and using the built-in OS' filesystem to handle the work, I save myself a lot of pains and headaches.

diff --git a/out/articles/sigplace1.article.html b/out/articles/sigplace1.article.html index 4090968..7cfea45 100644 --- a/out/articles/sigplace1.article.html +++ b/out/articles/sigplace1.article.html @@ -30,7 +30,7 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

Welcome to SigPlace!

+

Welcome to SigPlace!

This is a SigPlace article! It will contain information that is important (probably) and will be layed out as such.

Paragraphs are automatically split up for readability and generated correctly via the parser. There's quite a bit of flexibility with the system and makes it easy to post updates should they be required.

A lot of content management systems would do this by having a web interface and submitting content and managing it that way, but by coding my own management system and using the built-in OS' filesystem to handle the work, I save myself a lot of pains and headaches.

diff --git a/out/articles/test articles/DIRECTORY_LISTING b/out/articles/test articles/DIRECTORY_LISTING index 54a6134..95ee328 100644 --- a/out/articles/test articles/DIRECTORY_LISTING +++ b/out/articles/test articles/DIRECTORY_LISTING @@ -30,12 +30,12 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

Directory Listing for \articles\test articles\

🗎test1.article 2022-05-19T03:42:49.8963007Z LAPTOP-NEAKT518\sigon (User) 1071
-
🗎test1.article.html 2022-05-19T03:42:49.9539501Z LAPTOP-NEAKT518\sigon (User) 2577
-
🗎test2.article 2022-05-19T03:42:49.8982941Z LAPTOP-NEAKT518\sigon (User) 767
-
🗎test2.article.html 2022-05-19T03:42:49.957395Z LAPTOP-NEAKT518\sigon (User) 2273
-
🗎test3.article 2022-05-19T03:42:49.8999694Z LAPTOP-NEAKT518\sigon (User) 980
-
🗎test3.article.html 2022-05-19T03:42:49.959957Z LAPTOP-NEAKT518\sigon (User) 2486
+

Directory Listing for /articles/test articles/

🗎test1.article 2022-05-19T19:07:02.059093Z gitpod 1068
+
🗎test2.article 2022-05-19T19:07:02.059093Z gitpod 764
+
🗎test3.article 2022-05-19T19:07:02.063093Z gitpod 977
+
🗎test1.article.html 2022-05-19T19:07:02.115093Z gitpod 2577
+
🗎test2.article.html 2022-05-19T19:07:02.119093Z gitpod 2273
+
🗎test3.article.html 2022-05-19T19:07:02.123093Z gitpod 2486
diff --git a/out/articles/test articles/test1.article b/out/articles/test articles/test1.article index 4fe01b9..9524026 100644 --- a/out/articles/test articles/test1.article +++ b/out/articles/test articles/test1.article @@ -1,3 +1,3 @@ -

A Test Title

+

A Test Title

In dolor erat, malesuada at elit cursus, convallis imperdiet turpis. Ut aliquet magna tellus, at viverra mauris ullamcorper vehicula. Nam quis urna semper magna ornare elementum sed id mauris. Suspendisse faucibus nunc ante, ac rhoncus nisl tristique sed. Vestibulum pretium odio eget scelerisque vestibulum. Aliquam viverra ex ac vestibulum interdum. Donec ligula nunc, dignissim a purus vitae, fermentum laoreet diam. Quisque nec auctor urna. Vestibulum sit amet ligula ullamcorper, congue ipsum et, accumsan ante. Phasellus fermentum, sapien nec pulvinar blandit, elit purus pretium urna, et dapibus orci urna eu metus. Nunc molestie dictum pharetra. Suspendisse luctus felis et ante tristique, vitae commodo diam porttitor. Aliquam orci eros, placerat ac justo vitae, bibendum efficitur metus. Phasellus eget bibendum mauris.

2 May 2022 10:16AM
%CONDITIONAL_EXPAND%
diff --git a/out/articles/test articles/test1.article.html b/out/articles/test articles/test1.article.html index 7a84137..534d2ee 100644 --- a/out/articles/test articles/test1.article.html +++ b/out/articles/test articles/test1.article.html @@ -30,7 +30,7 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

A Test Title

+

A Test Title

In dolor erat, malesuada at elit cursus, convallis imperdiet turpis. Ut aliquet magna tellus, at viverra mauris ullamcorper vehicula. Nam quis urna semper magna ornare elementum sed id mauris. Suspendisse faucibus nunc ante, ac rhoncus nisl tristique sed. Vestibulum pretium odio eget scelerisque vestibulum. Aliquam viverra ex ac vestibulum interdum. Donec ligula nunc, dignissim a purus vitae, fermentum laoreet diam. Quisque nec auctor urna. Vestibulum sit amet ligula ullamcorper, congue ipsum et, accumsan ante. Phasellus fermentum, sapien nec pulvinar blandit, elit purus pretium urna, et dapibus orci urna eu metus. Nunc molestie dictum pharetra. Suspendisse luctus felis et ante tristique, vitae commodo diam porttitor. Aliquam orci eros, placerat ac justo vitae, bibendum efficitur metus. Phasellus eget bibendum mauris.

2 May 2022 10:16AM
diff --git a/out/articles/test articles/test2.article b/out/articles/test articles/test2.article index 955584d..2226e09 100644 --- a/out/articles/test articles/test2.article +++ b/out/articles/test articles/test2.article @@ -1,3 +1,3 @@ -

Another test title

+

Another test title

Sed lobortis nisi id nunc tincidunt volutpat. Mauris cursus felis quis condimentum posuere. Pellentesque vitae dolor et justo suscipit ultrices. Integer dapibus leo id felis varius, ut volutpat massa bibendum. Quisque sed nunc arcu. In sit amet faucibus magna, non venenatis massa. Cras sed placerat risus, id consectetur est. Pellentesque in nunc dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Quisque eget lorem ac urna posuere accumsan. Quisque sed imperdiet nisi.

1 May 2022 05:13AM
%CONDITIONAL_EXPAND%
diff --git a/out/articles/test articles/test2.article.html b/out/articles/test articles/test2.article.html index d4472b9..fffcf5f 100644 --- a/out/articles/test articles/test2.article.html +++ b/out/articles/test articles/test2.article.html @@ -30,7 +30,7 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

Another test title

+

Another test title

Sed lobortis nisi id nunc tincidunt volutpat. Mauris cursus felis quis condimentum posuere. Pellentesque vitae dolor et justo suscipit ultrices. Integer dapibus leo id felis varius, ut volutpat massa bibendum. Quisque sed nunc arcu. In sit amet faucibus magna, non venenatis massa. Cras sed placerat risus, id consectetur est. Pellentesque in nunc dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Quisque eget lorem ac urna posuere accumsan. Quisque sed imperdiet nisi.

1 May 2022 05:13AM
diff --git a/out/articles/test articles/test3.article b/out/articles/test articles/test3.article index 57837b0..6fc6364 100644 --- a/out/articles/test articles/test3.article +++ b/out/articles/test articles/test3.article @@ -1,3 +1,3 @@ -

And More

+

And More

Curabitur suscipit quam tellus, non rhoncus diam vehicula in. Aliquam ut dapibus tortor. Cras accumsan arcu vel ante maximus ornare. Nam tempus fermentum leo maximus euismod. Donec vehicula pretium est a ultrices. Nunc blandit nibh lorem, nec blandit leo posuere quis. Sed mauris ligula, euismod eu aliquam vel, rhoncus eget magna. Proin eget tortor ut ligula suscipit mattis. Integer rutrum aliquet eleifend. Suspendisse leo libero, placerat nec mi id, sagittis malesuada felis. Quisque euismod ante cursus elit lobortis, eu tempus ligula condimentum. Mauris viverra metus et dignissim efficitur. Ut placerat nunc nunc, eu tempus neque ultrices nec. Suspendisse et magna risus. Phasellus in ullamcorper tortor. Sed lobortis ut mi in blandit.

30 Apr 2022 6:14PM
%CONDITIONAL_EXPAND%
diff --git a/out/articles/test articles/test3.article.html b/out/articles/test articles/test3.article.html index 5105bc7..438ad8c 100644 --- a/out/articles/test articles/test3.article.html +++ b/out/articles/test articles/test3.article.html @@ -30,7 +30,7 @@ bunch of random Java code. System.err.println(Failed to build directory listings!"); return; } -

And More

+

And More

Curabitur suscipit quam tellus, non rhoncus diam vehicula in. Aliquam ut dapibus tortor. Cras accumsan arcu vel ante maximus ornare. Nam tempus fermentum leo maximus euismod. Donec vehicula pretium est a ultrices. Nunc blandit nibh lorem, nec blandit leo posuere quis. Sed mauris ligula, euismod eu aliquam vel, rhoncus eget magna. Proin eget tortor ut ligula suscipit mattis. Integer rutrum aliquet eleifend. Suspendisse leo libero, placerat nec mi id, sagittis malesuada felis. Quisque euismod ante cursus elit lobortis, eu tempus ligula condimentum. Mauris viverra metus et dignissim efficitur. Ut placerat nunc nunc, eu tempus neque ultrices nec. Suspendisse et magna risus. Phasellus in ullamcorper tortor. Sed lobortis ut mi in blandit.

30 Apr 2022 6:14PM
diff --git a/out/codeBackground b/out/codeBackground index c3db2d1..8b8a175 100644 --- a/out/codeBackground +++ b/out/codeBackground @@ -4,13 +4,14 @@ while (true) { try (Socket client = socket.accept()) { System.out.println("New client connection detected: "+client.toString()); - BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream(),"ISO-8859-1")); String requestLine,line; ZonedDateTime modifiedDate = null; String boundary=null; - boolean uploadData = false; boolean truncateUntilBoundary=false; String filename=null; + OutputStream stream = null; + boolean firstLine=true; requestLine=in.readLine(); //Read the first line, this should be our request. if (requestLine!=null) { String[] splitter = requestLine.split(Pattern.quote(" ")); @@ -18,7 +19,6 @@ if (splitter.length==3) { while (in.ready()) { line=in.readLine(); - if (ISPOST) { if (boundary!=null) { if (!truncateUntilBoundary) { @@ -29,12 +29,12 @@ truncateUntilBoundary=true; } } - } else - if (line.contains(boundary)) { - System.out.println(""); - System.out.println("<...>"); - System.out.println(""); - System.out.println(line); - truncateUntilBoundary=false; - - + } else + if (line.contains("Content-Disposition: ")||line.contains("Content-Type: ")) { + if (line.contains("filename=")) { + filename=line.substring(line.indexOf("filename=")+"filename=".length()+1); + filename = filename.substring(0,filename.length()-1); + } else { + System.out.println(line); + } + } else { diff --git a/out/otherpage.html b/out/otherpage.html index 0493d57..1aaf8e2 100644 --- a/out/otherpage.html +++ b/out/otherpage.html @@ -39,7 +39,7 @@ This is a different webpage.
modify.remove(); } -

Welcome to SigPlace!

+

Welcome to SigPlace!

This is a SigPlace article! It will contain information that is important (probably) and will be layed out as such.

Paragraphs are automatically split up for readability and generated correctly via the parser. There's quite a bit of flexibility with the system and makes it easy to post updates should they be required.

A lot of content management systems would do this by having a web interface and submitting content and managing it that way, but by coding my own management system and using the built-in OS' filesystem to handle the work, I save myself a lot of pains and headaches.

@@ -52,19 +52,19 @@ This is a different webpage.

Nunc tortor sem, dapibus mattis varius id, varius eu leo. Phasellus efficitur nulla a diam faucibus, id facilisis lacus malesuada. Nulla condimentum egestas erat a fermentum. Ut interdum dui id est condimentum, vel fermentum nisi ornare. Sed eu rhoncus magna, sit amet finibus eros. In a nibh tincidunt, suscipit tellus eleifend, faucibus mauris. Vestibulum sagittis nisi et efficitur ullamcorper. Donec sodales efficitur ligula id congue. Etiam egestas tristique interdum. Mauris at massa eget metus pellentesque fermentum nec non lacus. Nulla turpis nunc, feugiat vel euismod ac, maximus id est. Praesent cursus elit ac dolor hendrerit lacinia.


Vestibulum laoreet lorem consequat, mollis augue finibus, luctus libero. Praesent convallis sed velit vitae molestie. Vestibulum nec fringilla tellus, non dictum nulla. Donec tempor ac diam sit amet porta. Quisque mi ex, vulputate ac tincidunt vel, vestibulum vitae orci. Duis gravida mauris eget mauris pulvinar, lobortis tincidunt neque efficitur. Nunc blandit metus vitae faucibus vulputate. Curabitur rhoncus volutpat lorem, sit amet pulvinar ipsum. Fusce ultricies enim odio, a viverra quam tincidunt quis. Aliquam sollicitudin a sapien id efficitur. Proin at finibus elit, id gravida elit. Nulla facilisi. Ut tincidunt, ligula eu pulvinar dapibus, lorem nisl facilisis tellus, in ornare quam dolor quis libero. Pellentesque ut convallis orci. Donec volutpat nunc velit, tristique convallis purus lacinia sit amet. Maecenas porttitor cursus nisl sed porta.

-
3 May 2022 10:25AM




⤈ Click to expand.
-

A Test Title

+
3 May 2022 10:25AM




⤈ Click to expand.
+

A Test Title

In dolor erat, malesuada at elit cursus, convallis imperdiet turpis. Ut aliquet magna tellus, at viverra mauris ullamcorper vehicula. Nam quis urna semper magna ornare elementum sed id mauris. Suspendisse faucibus nunc ante, ac rhoncus nisl tristique sed. Vestibulum pretium odio eget scelerisque vestibulum. Aliquam viverra ex ac vestibulum interdum. Donec ligula nunc, dignissim a purus vitae, fermentum laoreet diam. Quisque nec auctor urna. Vestibulum sit amet ligula ullamcorper, congue ipsum et, accumsan ante. Phasellus fermentum, sapien nec pulvinar blandit, elit purus pretium urna, et dapibus orci urna eu metus. Nunc molestie dictum pharetra. Suspendisse luctus felis et ante tristique, vitae commodo diam porttitor. Aliquam orci eros, placerat ac justo vitae, bibendum efficitur metus. Phasellus eget bibendum mauris.

-
2 May 2022 10:16AM




⤈ Click to expand.
-

Another test title

+
2 May 2022 10:16AM




⤈ Click to expand.
+

Another test title

Sed lobortis nisi id nunc tincidunt volutpat. Mauris cursus felis quis condimentum posuere. Pellentesque vitae dolor et justo suscipit ultrices. Integer dapibus leo id felis varius, ut volutpat massa bibendum. Quisque sed nunc arcu. In sit amet faucibus magna, non venenatis massa. Cras sed placerat risus, id consectetur est. Pellentesque in nunc dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Quisque eget lorem ac urna posuere accumsan. Quisque sed imperdiet nisi.

-
1 May 2022 05:13AM




⤈ Click to expand.
-

And More

+
1 May 2022 05:13AM




⤈ Click to expand.
+

And More

Curabitur suscipit quam tellus, non rhoncus diam vehicula in. Aliquam ut dapibus tortor. Cras accumsan arcu vel ante maximus ornare. Nam tempus fermentum leo maximus euismod. Donec vehicula pretium est a ultrices. Nunc blandit nibh lorem, nec blandit leo posuere quis. Sed mauris ligula, euismod eu aliquam vel, rhoncus eget magna. Proin eget tortor ut ligula suscipit mattis. Integer rutrum aliquet eleifend. Suspendisse leo libero, placerat nec mi id, sagittis malesuada felis. Quisque euismod ante cursus elit lobortis, eu tempus ligula condimentum. Mauris viverra metus et dignissim efficitur. Ut placerat nunc nunc, eu tempus neque ultrices nec. Suspendisse et magna risus. Phasellus in ullamcorper tortor. Sed lobortis ut mi in blandit.

-
30 Apr 2022 6:14PM




⤈ Click to expand.
-

Curabitur vel tempus ex

+
30 Apr 2022 6:14PM




⤈ Click to expand.
+

Curabitur vel tempus ex

Curabitur vel tempus ex. Duis cursus sapien nisl, ut pulvinar dui porttitor ut. Nullam odio purus, tristique non turpis sit amet, malesuada ultricies purus. Mauris ut nulla nisl. Aenean sit amet est egestas justo volutpat consequat. Suspendisse in sagittis augue, et mattis tortor. Nullam viverra metus et nibh fringilla iaculis.

-
29 Apr 2022 7:37PM




⤈ Click to expand.
+
29 Apr 2022 7:37PM




⤈ Click to expand.
diff --git a/out/uploads/Love_Live!_Logo.png b/out/uploads/Love_Live!_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2f52540b1a8f6dcabe3c43256cdd618714a8e2b7 GIT binary patch literal 12213 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 K3y|rQ03-nPmv<2W diff --git a/sigServer.java b/sigServer.java index 5800e6d..97ac328 100644 --- a/sigServer.java +++ b/sigServer.java @@ -9,6 +9,7 @@ import java.net.Socket; import java.net.SocketException; import java.net.URLDecoder; import java.nio.ByteBuffer; +import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.charset.UnmappableCharacterException; @@ -37,13 +38,14 @@ public class sigServer { while (true) { try (Socket client = socket.accept()) { System.out.println("New client connection detected: "+client.toString()); - BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); + BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream(),"ISO-8859-1")); String requestLine,line; ZonedDateTime modifiedDate = null; String boundary=null; - boolean uploadData = false; boolean truncateUntilBoundary=false; String filename=null; + OutputStream stream = null; + boolean firstLine=true; requestLine=in.readLine(); //Read the first line, this should be our request. if (requestLine!=null) { String[] splitter = requestLine.split(Pattern.quote(" ")); @@ -61,17 +63,6 @@ public class sigServer { truncateUntilBoundary=true; } } - } else - if (line.contains(boundary)) { - System.out.println(""); - System.out.println("<...>"); - System.out.println(""); - System.out.println(line); - truncateUntilBoundary=false; - - filename=null; - uploadData=false; - System.out.println("Saving upload to "+sigPlace.UPLOADSDIR+" directory."); } else if (line.contains("Content-Disposition: ")||line.contains("Content-Type: ")) { if (line.contains("filename=")) { @@ -81,17 +72,36 @@ public class sigServer { System.out.println(line); } } else { - OutputStream stream = null; - byte[] byteContent = new String(line.getBytes(),StandardCharsets.UTF_8).getBytes(StandardCharsets.UTF_8); File myFile = new File(new File(sigPlace.OUTDIR,sigPlace.UPLOADSDIR),filename); // check if file exist, otherwise create the file before writing if (!myFile.exists()) { myFile.createNewFile(); + } else { + myFile.delete(); + myFile.createNewFile(); } stream = new FileOutputStream(myFile); - stream.write(byteContent); - stream.flush(); + char[] buffer = new char[1024]; + int count; + while ((count = in.read(buffer))>0) { + //stream.write(in.read(buffer)); + //stream.write(buffer.,0,count); + String buf = new String(buffer); + byte[] data = buf.getBytes("ISO-8859-1"); + stream.write(data,0,count); + if (buf.contains(boundary)) { + System.out.println(""); + System.out.println("<...>"); + System.out.println(""); + System.out.println(new String(data,StandardCharsets.UTF_8)); + break; + } + } stream.close(); + + filename=null; + firstLine=true; + System.out.println("Saving upload to "+sigPlace.UPLOADSDIR+" directory."); } } if (line.contains("Content-Type: multipart/form-data; boundary=")) { diff --git a/snippet b/snippet new file mode 100644 index 0000000..df0d24e --- /dev/null +++ b/snippet @@ -0,0 +1 @@ +!�BH` !�BH` !�BH` !�B ,!�B ,!�B ,!�B!�%�BQ �o \ No newline at end of file