/// <summary>
/// 发送文件, 客户端可以使用事件<see cref="Client.ClientBase.OnReceiveFileHandle"/>来监听并处理
/// </summary>
/// <param name="client"></param>
/// <param name="filePath"></param>
/// <param name="bufferSize">每次发送数据大小</param>
/// <returns></returns>
public bool SendFile(Player client, string filePath, int bufferSize = 50000)
{
var path1 = Path.GetDirectoryName(filePath);
if (!Directory.Exists(path1))
{
Debug.LogError("文件不存在! 或者文件路径字符串编码错误! 提示:可以使用Notepad++查看, 编码是ANSI,不是UTF8");
return false;
}
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, bufferSize);
var fileData = new FileData
{
ID = fileStream.GetHashCode(),
fileStream = fileStream,
fileName = Path.GetFileName(filePath),
bufferSize = bufferSize
};
client.ftpDic.Add(fileData.ID, fileData);
SendFile(client, fileData.ID, fileData);
return true;
}