diff --git a/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java b/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java index 52a8e4d..46227f6 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/gallery/StrokesRest.java @@ -1,15 +1,19 @@ package org.ntlab.acanthus_server.resources.gallery; import org.ntlab.acanthus_server.entities.*; +import org.ntlab.acanthus_server.entities.Stroke; import org.ntlab.acanthus_server.models.Gallery; +import org.ntlab.acanthus_server.utils.Base64Decode; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.SortedSet; +import java.awt.*; +import java.io.IOException; +import java.util.*; +import java.util.List; // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // @@ -19,6 +23,14 @@ private final Gallery gallery = Gallery.getInstance(); private int srstrokeSize=0; private int srstrokeNo=0; + + private ApplicationContext applicationContext; + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // 1ページの1レイヤーに置ける筆跡情報を全て取得します // 成功時のレスポンス:strokeNo{pen, color, thickness, potions{x, y}} @@ -85,6 +97,40 @@ return "http://nitta-lab-www.is.konan-u.ac.jp/gallery/" + aid + "/" + pid + "/a" + aid + "p" + pid + ".png"; } + + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ + // スクショで撮った画像をサーバ内の指定フォルダーにおく + // @PathParam Integer aid 作品のID + // @PathParam Integer pid ページのID + // @FormParam String image Base64 + @Path("/{aid}/pageMap/{pid}/image") + @POST + @Produces(MediaType.APPLICATION_JSON) + public String addImage(@PathParam("aid") Integer aid, @PathParam("pid") Integer pid, @FormParam("image") String image, @FormParam("category") List category) { + + + String vid = aid + pid.toString(); + String path = ""; + try { + path = applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps"; + path = Base64Decode.saveAsFile(vid, path, image); + } catch (IOException e) { + e.printStackTrace(); + throw new WebApplicationException(500); + } + + + String url = "http://nitta-lab-www.is.konan-u.ac.jp" + path; + +/* ArrayList categories = (ArrayList) category; + ScreenImage v = screenimage.createScreenImage(aid, pid, vid, url, categories); + return v;*/ + + return "OK"; + } + + // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // レイヤーごとのstrokeをすべて消去 // @PathParam Integer aid 作品のID