Programmable Media

.NET quick start

Last updated: Jun-04-2024

This quick start lets you get an end-to-end implementation up and running using the .NET SDK in 5 minutes or less.

1. Set up and configure the library

Using a clean .NET console project or .NET fiddle, add CloudinaryDotNet and dotenv.net using the Nuget Package Manager or if using the Package Manager Console, run:

Install-Package CloudinaryDotNet
Install-Package dotenv.net

Then, in your project, create a file called .env and add the following line with your Cloudinary environment variable:

.env
# Copy and paste your API environment variable
# =============================================

CLOUDINARY_URL=cloudinary://<API_KEY>:<API_SECRET>@<CLOUD_NAME>

Important
When writing your own applications, follow your organization's policy on storing secrets and don't expose your API secret.

In your code, include the following CloudinaryDotNet libraries as well as the dotenv.net library in your project.

You can then load your Cloudinary credentials from your .env file as shown below. Copy and paste the following code into your Program.cs file:

Program.cs
.NET
// Import the required packages
//==============================

using CloudinaryDotNet;
using CloudinaryDotNet.Actions;
using dotenv.net;

// Set your Cloudinary credentials
//=================================

DotEnv.Load(options: new DotEnvOptions(probeForEnv: true));
Cloudinary cloudinary = new Cloudinary(Environment.GetEnvironmentVariable("CLOUDINARY_URL"));
cloudinary.Api.Secure = true;

2. Upload an image

Copy and paste the following code into your Program.cs file:

Program.cs (continued)
.NET

// Upload an image and log the response to the console
//=================

var uploadParams = new ImageUploadParams()
{
    File = new FileDescription(@"https://cloudinary-devs.github.io/cld-docs-assets/assets/images/cld-sample.jpg"),
    UseFilename = true,
    UniqueFilename = false,
    Overwrite = true
};
var uploadResult = cloudinary.Upload(uploadParams);
Console.WriteLine(uploadResult.JsonObj);

3. Get details of the image

Program.cs (continued)
.NET
// Get details of the image and run quality analysis
//==============================

var getResourceParams = new GetResourceParams("cld-sample")
{
    QualityAnalysis = true
};
var getResourceResult = cloudinary.GetResource(getResourceParams);
var resultJson = getResourceResult.JsonObj;

// Log quality analysis score to the console
Console.WriteLine(resultJson["quality_analysis"]);

4. Transform the uploaded image

Program.cs (continued)
.NET

// Transform the uploaded asset and generate a URL and image tag
//==============================

var myTransformation = cloudinary.Api.UrlImgUp.Transform(new Transformation()
    .Width(300).Crop("scale").Chain()
    .Effect("cartoonify"));

var myUrl = myTransformation.BuildUrl("cld-sample");
var myImageTag = myTransformation.BuildImageTag("cld-sample");

// Log the URL of the transformed asset to the console
Console.WriteLine(myUrl);

// Log the image tag for the transformed asset to the console
Console.WriteLine(myImageTag);

5. Run your code

Run your code by clicking the Run button in Visual Studio or .NET fiddle.

You can use the returned image tag to display the image on your website. For now, copy and paste the URL to see the transformed image in the browser:

Transformed cld-sample image

View the completed code

You can find the full code example for this on GitHub.

Next steps

  • Learn more about the .NET SDK by visiting the other pages in this SDK guide.
  • Get comprehensive details about Cloudinary features and capabilities:

✔️ Feedback sent!