diff --git a/src/pages/uploader/hooks/useUploaderData.ts b/src/pages/uploader/hooks/useUploaderData.ts new file mode 100644 index 0000000..04e5cbd --- /dev/null +++ b/src/pages/uploader/hooks/useUploaderData.ts @@ -0,0 +1,14 @@ +import { useMutation } from "@tanstack/react-query"; +import * as api from "../service/UploaderService"; + +export const useSingleUpload = () => { + return useMutation({ + mutationFn: api.singleUpload, + }); +}; + +export const useMultipleUpload = () => { + return useMutation({ + mutationFn: api.multipleUpload, + }); +}; diff --git a/src/pages/uploader/service/UploaderService.ts b/src/pages/uploader/service/UploaderService.ts new file mode 100644 index 0000000..392f0bf --- /dev/null +++ b/src/pages/uploader/service/UploaderService.ts @@ -0,0 +1,17 @@ +import axios from "@/config/axios"; + +export const singleUpload = async (file: File) => { + const formData = new FormData(); + formData.append("file", file); + const { data } = await axios.post(`/uploader/single-file`, formData); + return data; +}; + +export const multipleUpload = async (files: File[]) => { + const formData = new FormData(); + files.forEach((file) => { + formData.append("files", file); + }); + const { data } = await axios.post(`/uploader/multi-file`, formData); + return data; +};