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); }