From c4c084d8195120a6a61e286826eac27a93d583d3 Mon Sep 17 00:00:00 2001 From: Xudong Date: Sun, 24 Apr 2022 20:43:54 +0800 Subject: [PATCH] ex1-1 done --- .../controller/ObjectsController.java | 19 ++++++++++++------- .../result/Result.java | 12 ++++++++++++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/main/java/cn/edu/zjvtit/distributedobjectstorage/controller/ObjectsController.java b/src/main/java/cn/edu/zjvtit/distributedobjectstorage/controller/ObjectsController.java index 0320d2a..0d0140b 100644 --- a/src/main/java/cn/edu/zjvtit/distributedobjectstorage/controller/ObjectsController.java +++ b/src/main/java/cn/edu/zjvtit/distributedobjectstorage/controller/ObjectsController.java @@ -5,7 +5,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import sun.misc.IOUtils; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.nio.file.Files; @@ -15,13 +17,16 @@ import java.util.Map; @RestController public class ObjectsController { - @PutMapping("/objects") - public String putObject(@RequestParam(value = "file", required = true) MultipartFile file, HttpServletResponse response) throws IOException { - byte[] bytes = file.getBytes(); - File fileToSave = new File("./uploads/"+file.getOriginalFilename()); - FileCopyUtils.copy(bytes, fileToSave); - response.setStatus(200); - return new Result( "success","10000").toString(); + @PutMapping("/objects/{filename}") + public String putObject(HttpServletRequest request,@PathVariable("filename") String filename) throws IOException { + + File fileToSave = new File("./uploads/" + filename); + + InputStream is =request.getInputStream(); + + byte[] bytes = IOUtils.readAllBytes(is); + FileCopyUtils.copy(bytes,fileToSave); + return (new Result( "success","10000")).toString(); } diff --git a/src/main/java/cn/edu/zjvtit/distributedobjectstorage/result/Result.java b/src/main/java/cn/edu/zjvtit/distributedobjectstorage/result/Result.java index 654344a..185a3c2 100644 --- a/src/main/java/cn/edu/zjvtit/distributedobjectstorage/result/Result.java +++ b/src/main/java/cn/edu/zjvtit/distributedobjectstorage/result/Result.java @@ -1,6 +1,9 @@ package cn.edu.zjvtit.distributedobjectstorage.result; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + public class Result { private String Message; private String code; @@ -25,6 +28,15 @@ public class Result { public void setCode(String code) { this.code = code; } + + public String toString(){ + ObjectMapper mapper = new ObjectMapper(); + try { + return mapper.writeValueAsString(this); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } }