質問編集履歴

1

コードを追記しました

2016/01/04 00:07

投稿

yamanoharu0129
yamanoharu0129

スコア47

test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,127 @@
5
5
  dataStore.put(name);
6
6
 
7
7
  では登録されないのでしょうか?
8
+
9
+
10
+
11
+
12
+
13
+ ```
14
+
15
+ index.jsp
16
+
17
+ <form class="postingform" action="upload" method="post" enctype="multipart/form-data">
18
+
19
+ 作品の情報を入力してください。<br>
20
+
21
+ ファイル選択:<input type="file" name="material"><br>
22
+
23
+ ファイル名:<input type="text" name="title"><br>
24
+
25
+ <input type="submit" value="アップロード">
26
+
27
+ </form>
28
+
29
+ ```
30
+
31
+ ```
32
+
33
+ MaterialUpload
34
+
35
+ public class MaterialUploadService {
36
+
37
+ public String saveMaterial(FileItem fileItem){
38
+
39
+ /*ファイル*/
40
+
41
+ Key materialKey = Datastore.allocateId(Material.class);
42
+
43
+ String contentType = fileItem.getContentType();
44
+
45
+ String idStr = Long.toString(materialKey.getId());
46
+
47
+ String extStr = fileItem.getShortFileName().split("\\.")[1];
48
+
49
+ String url = idStr + "." + extStr;
50
+
51
+ byte[] materialData = fileItem.getData();
52
+
53
+ Material material = new Material();
54
+
55
+ material.setKey(materialKey);
56
+
57
+ material.setContentType(contentType);
58
+
59
+ material.setBlob(new Blob(materialData));
60
+
61
+ System.out.println(url);
62
+
63
+ Datastore.put(material);
64
+
65
+ Datastore.put(title);
66
+
67
+ return url+"アップロードしました";
68
+
69
+ }
70
+
71
+
72
+
73
+ }
74
+
75
+ ```
76
+
77
+ ```
78
+
79
+ UploadController
80
+
81
+ public class UploadController extends Controller {
82
+
83
+ private MaterialUploadService MaterialUploadService = new MaterialUploadService();
84
+
85
+ @Override
86
+
87
+ public Navigation run() throws Exception {
88
+
89
+ //ファイルアップロード
90
+
91
+ FileItem fileItem = requestScope("material");
92
+
93
+ String title = requestScope("title");
94
+
95
+ String result = MaterialUploadService.saveMaterial(fileItem);
96
+
97
+
98
+
99
+ sessionScope("message",",p>"+result+"</p>");
100
+
101
+ return redirect(basePath);
102
+
103
+ }
104
+
105
+ }
106
+
107
+ ```
108
+
109
+ ```
110
+
111
+ Materiaru.java
112
+
113
+ @Attribute(primaryKey = true)
114
+
115
+ private Key key;
116
+
117
+ @Attribute(version = true)
118
+
119
+ private Long version;
120
+
121
+ private String url;
122
+
123
+ private String contentType;
124
+
125
+ private Blob blob;
126
+
127
+ private String title;//ファイル名
128
+
129
+
130
+
131
+ ```