From 05ef45bd3802cff2ebc24070a6b98f9109684abc Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Thu, 21 Nov 2024 14:03:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=8F=84=EB=A9=B4=20=EB=B0=B0=EA=B2=BD?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=20=EA=B0=9C=EB=B0=9C=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - api 스펙 추가 및 수정 --- src/app/api/html2canvas/route.js | 2 +- src/app/api/image-upload/route.js | 25 + src/components/floor-plan/modal/ImgLoad.jsx | 9 +- src/hooks/common/useRefFiles.js | 52 +- src/lib/cadAction.js | 5 + src/lib/canvas.js | 5 + src/lib/fileAction.js | 64 + yarn.lock | 3768 +++++++++---------- 8 files changed, 1858 insertions(+), 2072 deletions(-) create mode 100644 src/app/api/image-upload/route.js create mode 100644 src/lib/fileAction.js diff --git a/src/app/api/html2canvas/route.js b/src/app/api/html2canvas/route.js index 02731f07..ada6c54a 100644 --- a/src/app/api/html2canvas/route.js +++ b/src/app/api/html2canvas/route.js @@ -5,7 +5,7 @@ import fs from 'fs/promises' import { NextResponse } from 'next/server' export async function GET(req) { - const path = 'public/mapImages' + const path = 'public/plan-map-images' const q = req.nextUrl.searchParams.get('q') const fileNm = req.nextUrl.searchParams.get('fileNm') const zoom = req.nextUrl.searchParams.get('zoom') diff --git a/src/app/api/image-upload/route.js b/src/app/api/image-upload/route.js new file mode 100644 index 00000000..e817bd3b --- /dev/null +++ b/src/app/api/image-upload/route.js @@ -0,0 +1,25 @@ +'use server' + +import fs from 'fs/promises' + +import { NextResponse } from 'next/server' + +export async function POST(req) { + const path = 'public/plan-bg-images' + + const formData = await req.formData() + const file = formData.get('file') + const arrayBuffer = await file.arrayBuffer() + const buffer = Buffer.from(arrayBuffer) + // const buffer = new Uint8Array(arrayBuffer) + + try { + await fs.readdir(path) + } catch { + await fs.mkdir(path) + } finally { + await fs.writeFile(`${path}/${file.name}`, buffer) + } + + return NextResponse.json({ fileNm: `${file.name}` }) +} diff --git a/src/components/floor-plan/modal/ImgLoad.jsx b/src/components/floor-plan/modal/ImgLoad.jsx index c67cc3f3..84c2dfdc 100644 --- a/src/components/floor-plan/modal/ImgLoad.jsx +++ b/src/components/floor-plan/modal/ImgLoad.jsx @@ -95,7 +95,14 @@ export default function ImgLoad() {
- + setMapPositionAddress(e.target.value)} + />