fix: download url 변경

This commit is contained in:
shinmj
2021-12-29 14:54:14 +09:00
parent 8b88384868
commit 844a5a7b9c
2 changed files with 33 additions and 14 deletions

View File

@@ -1,7 +1,7 @@
import { Page } from '@utils'
import axios, { AxiosError } from 'axios'
import useSWR from 'swr'
import { common, SearchPayload } from './common'
import { Page } from '@utils'
/**
* request payload
@@ -55,14 +55,23 @@ export const attachmentService = {
errorCallback(error)
}
},
download: (id: string) => { // 첨부파일 다운로드 - 삭제 파일 가능
axios.get(`${ATTACHMENT_API}/download/${id}`, {
download: (id: string) => {
// 첨부파일 다운로드 - 삭제 파일 가능
axios
.get(`/portal-service/api/v1/download/${id}`, {
responseType: 'blob',
})
.then(response => {
const downloadFileName = decodeURIComponent(response.headers['content-disposition'].replace('attachment; filename*=UTF-8\'\'', ''))
const downloadFileName = decodeURIComponent(
response.headers['content-disposition'].replace(
"attachment; filename*=UTF-8''",
'',
),
)
const url = window.URL.createObjectURL(new Blob([response.data], { type: response.headers['content-type'] }))
const url = window.URL.createObjectURL(
new Blob([response.data], { type: response.headers['content-type'] }),
)
let link = document.createElement('a')
link.href = url
link.setAttribute('download', downloadFileName)

View File

@@ -16,7 +16,12 @@ function Logout() {
)
}
export const getServerSideProps: GetServerSideProps = async ({ req, res }) => {
export const getServerSideProps: GetServerSideProps = async ({
req,
res,
query,
}) => {
console.log(query)
if (!process.browser) {
const Cookies = require('cookies')
const cookies = new Cookies(req, res)
@@ -26,12 +31,17 @@ export const getServerSideProps: GetServerSideProps = async ({ req, res }) => {
axios.defaults.headers.common[CLAIM_NAME] = ''
axios.defaults.headers.common[AUTH_USER_ID] = ''
try {
const { redirect } = req['query']
res.writeHead(307, {
Location: typeof redirect !== 'undefined' ? redirect : '/',
})
res.end()
} catch (error) {
res.writeHead(307, { Location: '/' })
res.end()
}
}
return {