diff --git a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java index e5ee3e8..131f279 100644 --- a/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/DrawingsRest.java @@ -12,15 +12,17 @@ import javax.ws.rs.*; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; import java.io.IOException; @Component @Path("/rooms") -public class DrawingsRest { - private ApplicationContext applicationContext; +public class DrawingsRest implements ApplicationContextAware { - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + private org.springframework.context.ApplicationContext applicationContext; + + public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } @@ -32,37 +34,39 @@ return null; } - // 絵のデータ取得 + // 絵のデータ取得(パスを渡せば良い) @GET @Path("/{rid}/game/drawings/{dno}") @Produces(MediaType.APPLICATION_JSON) public Drawing getDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno ) { - RoomManager roomManager = RoomManager.getInstance(); - Room room = roomManager.getRoom(rid); - Game game = room.getGame(); - // まだgameのメソッドが出来ていないのでコメントアウト - // Drawing drawing = game.getDrawing(dno); - // return drawing; + + // いったんnullにしとく return null; } // 描いた絵を送る @PUT @Path("/{rid}/game/drawings/{dno}") + @Produces(MediaType.APPLICATION_JSON) public String putDrawing(@PathParam("rid") String rid, @PathParam("dno") int dno, @FormParam("drawing") String drawing ) { - RoomManager roomManager = RoomManager.getInstance(); - Room room = roomManager.getRoom(rid); - Game game = room.getGame(); - - // まだgameのメソッドが出来ていないのでコメントアウト - // game.putDrawing(dno, drawing); - String path1 = ""; String path = ""; - // いったんnullにしとく - return null; + try { + path1 = applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps"; + System.out.println("保存前のディレクトリのパス:" + path1.toString()); + System.out.println("クライアントから届いたBASE64の文字列"+ drawing.toString()); + // utilsのBase64Decodeにデコードしてもらって、そのついでに保存してもらう + path = Base64Decode.saveAsFile(rid, dno, path1, drawing); + } catch (IOException e) { + e.printStackTrace(); + throw new WebApplicationException(500); + } + System.out.println("画像デーをが追加しました。これがパス:" + path); + + return "画像のサーバー保存完了"; } + }