System.Net.WebClient.UploadDataTaskAsync C# (CSharp) Method

UploadDataTaskAsync() public method

public UploadDataTaskAsync ( System address, byte data ) : System.Threading.Tasks.Task
address System
data byte
return System.Threading.Tasks.Task
        public System.Threading.Tasks.Task<byte[]> UploadDataTaskAsync(System.Uri address, byte[] data) { throw null; }
        public System.Threading.Tasks.Task<byte[]> UploadDataTaskAsync(string address, string method, byte[] data) { throw null; }

Same methods

WebClient::UploadDataTaskAsync ( System address, string method, byte data ) : System.Threading.Tasks.Task
WebClient::UploadDataTaskAsync ( string address, byte data ) : System.Threading.Tasks.Task
WebClient::UploadDataTaskAsync ( string address, string method, byte data ) : System.Threading.Tasks.Task

Usage Example

        public async Task Reduce(FileInfo input, FileInfo output)
        {
            if (input == null)
            {
                throw new ArgumentException("Missing parameter input", "input");
            }

            if (output == null)
            {
                throw new ArgumentException("Missing parameter outputDirectory", "outputDirectory");
            }

            var fileName = input.Name;
            var endpoint = new Uri("https://api.accusoft.com/v1/imageReducers/" + fileName);
            
            using (var client = new WebClient())
            {
                client.Headers.Add("acs-api-key", _apiKey);
                client.Headers.Add("Content-Type", input.Extension == "png" ? "image/png" : "image/jpg");

                using (var reader = new BinaryReader(input.OpenRead()))
                {
                    var data = reader.ReadBytes((int)reader.BaseStream.Length);
                    var result = await client.UploadDataTaskAsync(endpoint, "POST", data);

                    using (var writeStream = output.Create())
                    {
                        await writeStream.WriteAsync(result, 0, result.Length);
                    }
                }
            }
        }
All Usage Examples Of System.Net.WebClient::UploadDataTaskAsync