fix: 도면을 이미지로 컨버팅 후 이미지 업로드 구현
This commit is contained in:
parent
af49d7c911
commit
42721da558
@ -19,7 +19,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, set
|
|||||||
const [canvasSetting, setCanvasSetting] = useRecoilState(canvasSettingState)
|
const [canvasSetting, setCanvasSetting] = useRecoilState(canvasSettingState)
|
||||||
const { closePopup } = usePopup()
|
const { closePopup } = usePopup()
|
||||||
const [basicSetting, setBasicSettings] = useRecoilState(basicSettingState)
|
const [basicSetting, setBasicSettings] = useRecoilState(basicSettingState)
|
||||||
const { refImage, setRefImage } = useRefFiles()
|
const { refImage, setRefImage, handleRefFile } = useRefFiles()
|
||||||
|
|
||||||
const { getMessage } = useMessage()
|
const { getMessage } = useMessage()
|
||||||
const { get, post } = useAxios()
|
const { get, post } = useAxios()
|
||||||
@ -490,7 +490,7 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, set
|
|||||||
<span className="img-edit"></span>
|
<span className="img-edit"></span>
|
||||||
{getMessage('common.input.file.load')}
|
{getMessage('common.input.file.load')}
|
||||||
</label>
|
</label>
|
||||||
<input type="file" id="img_file" style={{ display: 'none' }} onChange={(e) => setRefImage(e.target.files[0])} />
|
<input type="file" id="img_file" style={{ display: 'none' }} onChange={(e) => handleRefFile(e.target.files[0])} />
|
||||||
</div>
|
</div>
|
||||||
<div className="img-name-wrap">
|
<div className="img-name-wrap">
|
||||||
<input type="text" className="input-origin al-l" defaultValue={''} value={refImage ? refImage.name : ''} readOnly />
|
<input type="text" className="input-origin al-l" defaultValue={''} value={refImage ? refImage.name : ''} readOnly />
|
||||||
|
|||||||
@ -1,11 +1,39 @@
|
|||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
|
import { convertDwgToPng } from '@/lib/cadAction'
|
||||||
|
import { useSwal } from '@/hooks/useSwal'
|
||||||
|
|
||||||
export default function useRefFiles() {
|
export default function useRefFiles() {
|
||||||
const [refImage, setRefImage] = useState(null)
|
|
||||||
const converterUrl = process.env.NEXT_PUBLIC_CONVERTER_API_URL
|
const converterUrl = process.env.NEXT_PUBLIC_CONVERTER_API_URL
|
||||||
|
const [refImage, setRefImage] = useState(null)
|
||||||
|
|
||||||
|
const { swalFire } = useSwal()
|
||||||
|
|
||||||
|
const handleRefFile = (file) => {
|
||||||
|
setRefImage(file)
|
||||||
|
console.log('🚀 ~ handleRefFile ~ file:', file)
|
||||||
|
file.name.split('.').pop() === 'dwg' ? handleUploadRefFile(file) : () => {}
|
||||||
|
console.log("🚀 ~ handleRefFile ~ file.name.split('.').pop():", file.name.split('.').pop())
|
||||||
|
// handleUploadRefFile(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RefFile이 캐드 도면 파일일 경우 변환하여 이미지로 저장
|
||||||
|
const handleUploadRefFile = async (file) => {
|
||||||
|
const formData = new FormData()
|
||||||
|
formData.append('file', file)
|
||||||
|
|
||||||
|
await promisePost({ url: converterUrl, data: formData })
|
||||||
|
.then((res) => {
|
||||||
|
convertDwgToPng(res.data.Files[0].FileName, res.data.Files[0].FileData)
|
||||||
|
swalFire({ text: '파일 변환 성공' })
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
swalFire({ text: '파일 변환 실패', icon: 'error' })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
refImage,
|
refImage,
|
||||||
setRefImage,
|
setRefImage,
|
||||||
|
handleRefFile,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user