import { useAxios } from '@/hooks/useAxios' // 파일 다운로드 export const handleFileDown = async (file) => { const { get } = useAxios() const url = `/api/board/file/download` const params = new URLSearchParams({ encodeFileNo: file.encodeFileNo, }) const apiUrl = `${url}?${params.toString()}` const resultData = await get({ url: apiUrl }) if (resultData) { const blob = new Blob([resultData]) const fileUrl = window.URL.createObjectURL(blob) const link = document.createElement('a') link.href = fileUrl link.download = file.srcFileNm document.body.appendChild(link) link.click() link.remove() window.URL.revokeObjectURL(url) } } // 페이지 번호 생성 export const generateBlockPagination = (currentPage, totalPages, pageBlock) => { const currentBlock = Math.ceil(currentPage / pageBlock) let startPage = (currentBlock - 1) * pageBlock + 1 let endPage = startPage + pageBlock - 1 if (endPage > totalPages) { endPage = totalPages } let pageArr = [] for (let i = startPage; i <= endPage; i++) { pageArr.push(i) } return pageArr }