40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
import { useState } from 'react'
|
|
import { convertDwgToPng } from '@/lib/cadAction'
|
|
import { useSwal } from '@/hooks/useSwal'
|
|
|
|
export default function useRefFiles() {
|
|
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 {
|
|
refImage,
|
|
setRefImage,
|
|
handleRefFile,
|
|
}
|
|
}
|