diff --git a/src/services/UploadService.ts b/src/services/UploadService.ts new file mode 100644 index 00000000..b452eb82 --- /dev/null +++ b/src/services/UploadService.ts @@ -0,0 +1,32 @@ +import api from '../api' +import { UploadRequest } from '@/types' + +const uploadJsonFile = async (payload: any): Promise => { + return api({ + url: "uploadJsonFile", + method: "post", + ...payload + }); +} +const prepareUploadJsonPayload = (request: UploadRequest) => { + const blob = new Blob([JSON.stringify(request.uploadData)], { type: 'application/json'}); + const formData = new FormData(); + const fileName = (request.fileName ? request.fileName : Date.now() ) +".json"; + formData.append("uploadedFile", blob, fileName); + if (request.params) { + for (const key in request.params) { + formData.append(key, request.params[key]); + } + } + return { + data: formData, + headers: { + 'Content-Type': 'multipart/form-data;' + } + } +} + +export const UploadService = { + prepareUploadJsonPayload, + uploadJsonFile +} \ No newline at end of file diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 00000000..980465b0 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,5 @@ +export interface UploadRequest { + params?: any; + fileName?: string; + uploadData: any; +} \ No newline at end of file