回答編集履歴

1

コードを具体的に記載しました

2021/02/21 09:37

投稿

kohey419
kohey419

スコア11

test CHANGED
@@ -1,3 +1,57 @@
1
- multipart/form-dataで空文字が送信されたときは、item.getSize()で判定できました。
1
+ ```servlet
2
2
 
3
+ ```
4
+
5
+ //fileuploadクラスを使用するにはjarファイルのダウンロードとクラスパスを通す必要があります
6
+
7
+ import org.apache.commons.fileupload.FileItem;
8
+
9
+ import org.apache.commons.fileupload.FileUploadException;
10
+
11
+ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
12
+
13
+ import org.apache.commons.fileupload.servlet.ServletFileUpload;
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ ↓(postメソッド内の処理)↓
22
+
23
+ DiskFileItemFactory factory = new DiskFileItemFactory();
24
+
25
+ factory.setSizeThreshold(-1);
26
+
27
+ factory.setRepository(new File("動的プロジェクト内の任意のフォルダの一時保存先"));
28
+
29
+ ServletFileUpload sfu = new ServletFileUpload(factory);
30
+
31
+ for (Object obj : items) {
32
+
33
+ FileItem item = (FileItem) obj;
34
+
35
+ //item.isFormField()で受け取ったデータがファイルかを判定します。
36
+
37
+ if (item.isFormField()) {
38
+
39
+ //item.getSize()で受け取った中身が空か判定します
40
+
41
+ if(item.getSize() != 0) {
42
+
43
+ //空じゃない場合は受け取ります
44
+
45
+ 変数名(String型) = item.getString("文字コード(UTF-8等)");
46
+
47
+ }
48
+
49
+ }
50
+
51
+ }
52
+
53
+
54
+
55
+ よって私の質問内容の空文字判定はitem.getSize()で判定できることがわかりました。
56
+
3
- 空文字返されたきはsizeが0になりました。
57
+ ご指摘いただいた皆さまありがとうございました。