Sharepoint REST Upload Document returns Bad Request

I attempted to upload an image to sharepoint and reveived 400 bad request. I' ve traced it in fiddler and it returned next:

Fiddler: {"error":{"code":"-1, Microsoft.SharePoint.Client.InvalidClientQueryException","message":{"lang":"en-US","value":"The expression \"web/GetFolderByServerRelativeUrl('/.../.../Documents/346b82c5-a8f7-48a2-ab96-534c15ea5cb2.PNG')/Files/add(url='346b82c5-a8f7-48a2-ab96-534c15ea5cb2.PNG',overwrite=False)\" is not valid."}}}

Please, help to find a proper way to send data

class SpRestClient
{
    private static HttpClient httpClient = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true });

    public SpRestClient(string baseUrl)
    {
        httpClient.BaseAddress = new Uri(baseUrl);
        httpClient.DefaultRequestHeaders.Clear();
        httpClient.DefaultRequestHeaders.Add("accept", "application/json;odata=verbose");
    }

    public void Post(string resourceUri, Stream stream)
    {
        var requestContent = new StreamContent(stream);

        requestContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json;odata=verbose");
        httpClient.DefaultRequestHeaders.Add("X-RequestDigest", RequestFromDigest());
        var response = httpClient.PostAsync(resourceUri, requestContent).Result;
        response.EnsureSuccessStatusCode();
    }

    private string RequestFromDigest()
    {
        var endpointUrl = string.Format($"/_api/contextInfo");
        var result = httpClient.PostAsync(endpointUrl, new StringContent(string.Empty)).Result;
        result.EnsureSuccessStatusCode();
        var content = result.Content.ReadAsStringAsync().Result;
        return JObject.Parse(content)["d"]["GetContextWebInformation"]["FormDigestValue"].ToString();
    } 
} 

class Program
{
    static void Main(string[] args)
    {
        try
        {
            string fileName = "346b82c5-a8f7-48a2-ab96-534c15ea5cb2.PNG";
            string serverRelativeUrl = string.Format($"/.../.../Documents/{ fileName }");
            string resourceUrl= string.Format($"/_api/web/GetFolderByServerRelativeUrl('{ serverRelativeUrl }')/Files/add(url='{ fileName }',overwrite=False)");

            string baseUrl = "http://...";
            var client = new SpRestClient(baseUrl);
            client.Post(resourceUrl, OpenFile());
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
    }

    static Stream OpenFile()
    {
        Stream fs = File.OpenRead(@"C:\Downloads\60d21842-2dcd-4c56-b45d-db0dccf36d88.PNG");
        return fs;
    }
}