From 55b17471095a5c46c3d1ce98cdf2757690fa82aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Thu, 27 Jul 2023 15:29:59 +0200 Subject: [PATCH] Fix binary data sending with SignalR --- .../Connections/SignalR/SignalRConnection.cs | 2 +- src/Server/FileTime.Server.Web/ConnectionHub.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Server/FileTime.Server.Common/Connections/SignalR/SignalRConnection.cs b/src/Server/FileTime.Server.Common/Connections/SignalR/SignalRConnection.cs index 9659a4a..8ec3c94 100644 --- a/src/Server/FileTime.Server.Common/Connections/SignalR/SignalRConnection.cs +++ b/src/Server/FileTime.Server.Common/Connections/SignalR/SignalRConnection.cs @@ -69,7 +69,7 @@ public class SignalRConnection : IRemoteConnection, IAsyncInitable => await _client.MoveItemAsync(contentProviderId, fullName.Path, newPath.Path); public async Task WriteBytesAsync(string transactionId, byte[] data, int? index) - => await _client.WriteBytesAsync(transactionId, Encoding.UTF8.GetString(data), index ?? -1); + => await _client.WriteBytesAsync(transactionId, Convert.ToBase64String(data), index ?? -1); public async Task FlushWriterAsync(string transactionId) => await _client.FlushWriterAsync(transactionId); diff --git a/src/Server/FileTime.Server.Web/ConnectionHub.cs b/src/Server/FileTime.Server.Web/ConnectionHub.cs index a07cf31..604dd72 100644 --- a/src/Server/FileTime.Server.Web/ConnectionHub.cs +++ b/src/Server/FileTime.Server.Web/ConnectionHub.cs @@ -74,8 +74,8 @@ public class ConnectionHub : Hub, ISignalRHub _contentAccessManager.AddContentWriter(transactionId, contentWriter); } - public async Task WriteBytesAsync(string transactionId, string data, int index) - => await _contentAccessManager.GetContentWriter(transactionId).WriteBytesAsync(Encoding.UTF8.GetBytes(data), index == -1 ? null : index); + public async Task WriteBytesAsync(string transactionId, string data, int index) + => await _contentAccessManager.GetContentWriter(transactionId).WriteBytesAsync(Convert.FromBase64String(data), index == -1 ? null : index); public async Task FlushWriterAsync(string transactionId) => await _contentAccessManager.GetContentWriter(transactionId).FlushAsync();