diff --git a/src/main/java/osm/surveyor/task/city/IoController.java b/src/main/java/osm/surveyor/task/city/IoController.java new file mode 100644 index 0000000..c79998e --- /dev/null +++ b/src/main/java/osm/surveyor/task/city/IoController.java @@ -0,0 +1,72 @@ +package osm.surveyor.task.city; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; + +import javax.servlet.http.HttpServletResponse; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import lombok.RequiredArgsConstructor; +import osm.surveyor.task.city.model.Task; +import osm.surveyor.task.city.model.UploadForm; + +@RequiredArgsConstructor +@Controller +public class IoController { + private final TaskRepository taskRepository; + + @GetMapping("/io") + public String io(Model model) + { + return "admin"; + } + + @PostMapping("/io/download") + public String download(HttpServletResponse response) { + try (OutputStream os = response.getOutputStream();) { + List list = taskRepository.findAll(); + StringBuffer sb = new StringBuffer(); + boolean c1 = false; + sb.append("["); + sb.append(System.lineSeparator()); + for (Task task : list) { + if (c1) { + sb.append(","); + } + else { + c1 = true; + } + sb.append(task.toString()); + sb.append(System.lineSeparator()); + } + sb.append("]"); + byte[] fb1 = String.valueOf(sb).getBytes(); + + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment; filename="+ "task-bldg.json"); + response.setContentLength(fb1.length); + os.write(fb1); + os.flush(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + /** + * データファイルアップロード + * @param multipartFile + * @param model + * @return + */ + @PostMapping("/io/upload") + public String upload(UploadForm uploadForm, Model model) { + model.addAttribute("originalFilename", uploadForm.getMultipartFile().getOriginalFilename()); + return "upload"; + } +} diff --git a/src/main/java/osm/surveyor/task/city/model/UploadForm.java b/src/main/java/osm/surveyor/task/city/model/UploadForm.java new file mode 100644 index 0000000..0d17ae1 --- /dev/null +++ b/src/main/java/osm/surveyor/task/city/model/UploadForm.java @@ -0,0 +1,12 @@ +package osm.surveyor.task.city.model; + +import org.springframework.web.multipart.MultipartFile; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class UploadForm { + private MultipartFile multipartFile; +} diff --git a/src/main/resources/templates/download.html b/src/main/resources/templates/download.html new file mode 100644 index 0000000..5925330 --- /dev/null +++ b/src/main/resources/templates/download.html @@ -0,0 +1,55 @@ + + + + + + + + +
+
+ + +
+
+
+ + +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +

+

+ + +
+
+
+ +
+
+
+
+
+ + diff --git a/src/main/resources/templates/upload.html b/src/main/resources/templates/upload.html new file mode 100644 index 0000000..5925330 --- /dev/null +++ b/src/main/resources/templates/upload.html @@ -0,0 +1,55 @@ + + + + + + + + +
+
+ + +
+
+
+ + +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +

+

+ + +
+
+
+ +
+
+
+
+
+ +