diff --git a/src/SASViyaApiClient.ts b/src/SASViyaApiClient.ts index 878a073..3ed3fbe 100644 --- a/src/SASViyaApiClient.ts +++ b/src/SASViyaApiClient.ts @@ -546,7 +546,7 @@ export class SASViyaApiClient { */ public async createFile( fileName: string, - content: string = '', + contentBuffer: Buffer, parentFolderPath?: string, parentFolderUri?: string, accessToken?: string @@ -564,15 +564,18 @@ export class SASViyaApiClient { 'Content-Disposition': `filename="${fileName}";` } + const formData = new NodeFormData() + formData.append('file', contentBuffer, fileName) + const mimeType = mime.getType(fileName.match(/\.[0-9a-z]+$/i)?.[0] || '') ?? 'text/plain' return ( await this.requestClient.post( `/files/files?parentFolderUri=${parentFolderUri}&typeDefName=file#rawUpload`, - content, + formData, accessToken, - mimeType, + 'multipart/form-data; boundary=' + (formData as any)._boundary, headers ) ).result diff --git a/src/SASjs.ts b/src/SASjs.ts index df5c515..3e10b92 100644 --- a/src/SASjs.ts +++ b/src/SASjs.ts @@ -311,7 +311,7 @@ export default class SASjs { */ public async createFile( fileName: string, - content: string, + content: Buffer, parentFolderPath: string, parentFolderUri?: string, accessToken?: string,