teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

試したこと追記

2019/06/21 10:24

投稿

summerboot
summerboot

スコア18

title CHANGED
File without changes
body CHANGED
@@ -10,9 +10,8 @@
10
10
  0. Thymeleafで th:src=${session}で画像を表示させたい
11
11
  (でもその為にはstaticにファイルが入っている必要があると考えました)
12
12
 
13
- 具体的に「どうやったらstaticに保存されるのか?」が最も疑問です。(特に指定パス、保存の方法もややあやふやですそれはなんとか他の情報もあるの勉強中で)
13
+ 具体的に「どうやったらstaticに保存されるのか?」が最も疑問です。staticのパスを抽出する方法が最も知りたい情報です
14
14
 
15
-
16
15
  当方初心者につき、何か思い違いをしている可能性もあると思います。その場合はご教授頂けたらと思います。また情報不足の場合は仰ってください。
17
16
  よろしくお願いいたします。
18
17
 
@@ -22,7 +21,7 @@
22
21
  ```HTML
23
22
  <body>
24
23
  <form method="post" action="upload" enctype="multipart/form-data" th:object="${testBeans}">
25
- <input type="file" name="name"/>
24
+ <input type="file" name="image"/>
26
25
  <input type="submit"/>
27
26
  </form>
28
27
  </body>
@@ -30,15 +29,26 @@
30
29
 
31
30
  ```java
32
31
  //コントローラー
33
- @RequestMapping(value = "upload", method = RequestMethod.POST)
32
+ @RequestMapping(value = "upload", method = RequestMethod.POST)
34
- public String upload(TestBeans beans,@RequestParam("name")MultipartFile upfile) {
33
+ public String upload(TestBeans beans, @RequestParam("image") MultipartFile upfile) {
34
+ // ファイルを保存する
35
+ if (!upfile.isEmpty()) {
36
+ try {
37
+           String filename = upfile.getOriginalFilename();
38
+            //リンク先直打ちでは実現できた!
39
+ Files.copy(upfile.getInputStream(),Paths.get("C:¥¥中略¥¥static", filename));
35
-    //ここでファイル名を取得してBeansに入れた
40
+ // ファイル名をBeansに保存する
36
- TestBeans test = new TestBeans();
41
+ TestBeans test = new TestBeans();
37
- String filename = upfile.getOriginalFilename();
38
- test.setImage(filename);
42
+ test.setImage(filename);
39
- session.setAttribute("test", test);
43
+ session.setAttribute("test", test);
40
44
 
45
+ } catch (IOException | RuntimeException e) {
46
+ e.printStackTrace();
47
+ }
48
+ }
49
+
50
+
41
- return "testhtml";
51
+ return "index2";
42
52
  }
43
53
  ```
44
54
 

1

特にわからない事について追記

2019/06/21 10:24

投稿

summerboot
summerboot

スコア18

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,9 @@
10
10
  0. Thymeleafで th:src=${session}で画像を表示させたい
11
11
  (でもその為にはstaticにファイルが入っている必要があると考えました)
12
12
 
13
+ 具体的に「どうやったらstaticに保存されるのか?」が最も疑問です。(特に指定パス、保存の方法もややあやふやですがそれはなんとか他の情報もあるので勉強中です)
13
14
 
15
+
14
16
  当方初心者につき、何か思い違いをしている可能性もあると思います。その場合はご教授頂けたらと思います。また情報不足の場合は仰ってください。
15
17
  よろしくお願いいたします。
16
18