BotSharp/src/Plugins/BotSharp.Plugin.TencentCos/Services/TencentCosService.Audio.cs

40 lines
1.2 KiB
C#
Raw Normal View History

2024-08-09 22:39:54 +00:00
namespace BotSharp.Plugin.TencentCos.Services;
public partial class TencentCosService
{
2024-08-28 20:34:41 +00:00
public bool SaveSpeechFile(string conversationId, string fileName, BinaryData data)
2024-08-09 22:39:54 +00:00
{
2024-08-28 20:34:41 +00:00
try
{
var file = $"{CONVERSATION_FOLDER}/{conversationId}/{TEXT_TO_SPEECH_FOLDER}/{fileName}";
var exist = _cosClient.BucketClient.DoesObjectExist(file);
if (exist)
{
return false;
}
return _cosClient.BucketClient.UploadBytes(file, data.ToArray());
}
catch (Exception ex)
{
2025-05-02 16:31:28 +00:00
_logger.LogWarning(ex, $"Error when saving speech file. {fileName} (conv id: {conversationId})");
2024-08-28 20:34:41 +00:00
return false;
}
2024-08-09 22:39:54 +00:00
}
2024-08-28 20:34:41 +00:00
public BinaryData GetSpeechFile(string conversationId, string fileName)
2024-08-09 22:39:54 +00:00
{
2024-08-28 20:34:41 +00:00
var dir = $"{CONVERSATION_FOLDER}/{conversationId}/{TEXT_TO_SPEECH_FOLDER}";
var key = $"{dir}/{fileName}";
var file = _cosClient.BucketClient.GetDirFile(dir, key);
if (string.IsNullOrWhiteSpace(file))
{
return BinaryData.Empty;
}
var bytes = _cosClient.BucketClient.DownloadFileBytes(file);
return BinaryData.FromBytes(bytes);
2024-08-09 22:39:54 +00:00
}
}