Ejemplo n.º 1
0
        async Task <GoQRApiResult> IGoQRCodeClientHelper.PostImageAsync(string url, GoQRCodeFromFileData data)
        {
            var result  = new GoQRApiResult();
            var content = new MultipartFormDataContent();

            content.Add(new StringContent("1048576"), "MAX_FILE_SIZE", "MAX_FILE_SIZE");
            content.Add(new StreamContent(data.File), "file", data.Name);

            try
            {
                using var response = await _httpClient.PostAsync(url, content);

                if (response.IsSuccessStatusCode)
                {
                    result.Data = await ParseResponse <GoQRCodeApiResponse>(response);

                    result.Success = true;
                }
                else
                {
                    result.Message = "Unable to retrieve data from GoQR";
                    _logger.LogError(result.Message, data, response);
                }
            } catch (Exception ex)
            {
                _logger.LogError(ex, ERROR_MESSAGE, data);
                result.Message = ERROR_MESSAGE;
            }

            return(result);
        }
        async Task <GoQRApiResult> IGoQRCodeClientHelper.PostImageAsync(string url, GoQRCodeFromFileData data)
        {
            var result = new GoQRApiResult();

            restClient.BaseUrl = new Uri(url);
            var request = new RestRequest(Method.POST);

            //request.AddFileBytes("file", ReadFully(data.File), data.Name, "multipart/form-data");
            request.AddFile("file", "./qr-test.png", "multipart/form-data");
            request.AddQueryParameter("MAX_FILE_SIZE", "1048576");

            try
            {
                var response = await restClient.ExecuteAsync(request);

                if (response.IsSuccessful)
                {
                    result.Data    = JsonConvert.DeserializeObject <GoQRCodeApiResponse>(response.Content);
                    result.Success = true;
                }
                else
                {
                    result.Message = "Unable to retrieve info";
                    _logger.LogError(result.Message, data, response);
                }
            } catch (Exception ex)
            {
                _logger.LogError(ex, ERROR_MESSAGE, data);
                result.Message = ERROR_MESSAGE;
            }


            return(result);
        }