diff --git a/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperations/Services/FileActionServices/WriteFileService.cs b/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperations/Services/FileActionServices/WriteFileService.cs index 449f65d..2548386 100644 --- a/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperations/Services/FileActionServices/WriteFileService.cs +++ b/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperations/Services/FileActionServices/WriteFileService.cs @@ -44,6 +44,12 @@ namespace LCU.Api.Internal.FileOperations.Services.FileActionServices { try { + if (ShouldWriteBinaryWav(request)) + { + File.WriteAllBytes(request.FullFilePath, Convert.FromBase64String(request.FileData)); + return; + } + File.WriteAllText(request.FullFilePath, request.FileData); } catch (Exception exception) @@ -54,6 +60,12 @@ namespace LCU.Api.Internal.FileOperations.Services.FileActionServices } } + private static bool ShouldWriteBinaryWav(WriteFileRequest request) + { + return string.Equals(request.Extension, ".wav", StringComparison.OrdinalIgnoreCase) || + string.Equals(request.Extension, "wav", StringComparison.OrdinalIgnoreCase); + } + public RequestResponse PreQueueValidation(WriteFileRequest originalRequest) { var requestResponse = new RequestResponse();