DataUtils.DataUrl 1.0.2

Implementation of the DataUrl scheme (rfc2397)

Install-Package DataUtils.DataUrl -Version 1.0.2
dotnet add package DataUtils.DataUrl --version 1.0.2
<PackageReference Include="DataUtils.DataUrl" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DataUtils.DataUrl --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

DataUtils.DataUrl

Class that can be used as value object representing a DataUrl (rfc2397)

  • Parse DataUrl strings
  • Construct DataUrl objects from byte array or string
  • Cross platform, targets .NET Standard 2.0
  • Published as Nuget package

Reading data URL's from string


// From data url string
var dataUrl = new DataUrl("data:image/gif...."); 

// Get content as string
dataUrl.ReadAsString();

// Get content as string with different encoding
dataUrl.ReadAsString(Encoding.UTF7);

// Get content as base64 encoded string
dataUrl.ReadAsStringBase64Encoded();

// Get raw content as byte array
dataUrl.Content

// Get content type
dataUrl.ContentType;

// Get possibly attached parameters as IEnumerable<KeyValuePair<string, string>>
dataUrl.Parameters; 

The constructor will throw DataUrlParseException if it's not possible to construct a DataUrl instance from the given string. You can also use DataUrlParser.TryParse if you don't want to deal with exceptions.

if (DataUrlParser.TryParse(dataUrlString, out var parsedDataUrl)) {
    // We could parse a data url
}

Creating data URL's


// Create from string
var dataUrl = DataUrl.NewDataUrl(jsonString, "application/json");

// Create from image
var bytes = File.ReadAllBytes("C:\\somepath\\picture.png");
var dataUrl = DataUrl.NewDataUrl(bytes, "image/png");

// Create from already base64 encoded string
var dataUrl = DataUrl.NewFromBase64EncodedString(base64EncodedString, "image/png");

// Create a data URL with attached parameters
var parameters = new KeyValuePair<string, string> [] { 
    new KeyValuePair<string, string>("type", "token"), 
    new KeyValuePair<string, string>("authority", "https://...")
};
var dataUrl = DataUrl.NewDataUrl(
    jwtString, // Can also use a byte array
    "text/plain", 
    parameters
);

// When having another encoding other than default
DataUrl.NewDataUrl(byteArray, "text/plain", Encoding.UTF7);
DataUrl.NewDataUrl(byteArray, "text/plain", parameters, Encoding.UTF7);

DataUtils.DataUrl

Class that can be used as value object representing a DataUrl (rfc2397)

  • Parse DataUrl strings
  • Construct DataUrl objects from byte array or string
  • Cross platform, targets .NET Standard 2.0
  • Published as Nuget package

Reading data URL's from string


// From data url string
var dataUrl = new DataUrl("data:image/gif...."); 

// Get content as string
dataUrl.ReadAsString();

// Get content as string with different encoding
dataUrl.ReadAsString(Encoding.UTF7);

// Get content as base64 encoded string
dataUrl.ReadAsStringBase64Encoded();

// Get raw content as byte array
dataUrl.Content

// Get content type
dataUrl.ContentType;

// Get possibly attached parameters as IEnumerable<KeyValuePair<string, string>>
dataUrl.Parameters; 

The constructor will throw DataUrlParseException if it's not possible to construct a DataUrl instance from the given string. You can also use DataUrlParser.TryParse if you don't want to deal with exceptions.

if (DataUrlParser.TryParse(dataUrlString, out var parsedDataUrl)) {
    // We could parse a data url
}

Creating data URL's


// Create from string
var dataUrl = DataUrl.NewDataUrl(jsonString, "application/json");

// Create from image
var bytes = File.ReadAllBytes("C:\\somepath\\picture.png");
var dataUrl = DataUrl.NewDataUrl(bytes, "image/png");

// Create from already base64 encoded string
var dataUrl = DataUrl.NewFromBase64EncodedString(base64EncodedString, "image/png");

// Create a data URL with attached parameters
var parameters = new KeyValuePair<string, string> [] { 
    new KeyValuePair<string, string>("type", "token"), 
    new KeyValuePair<string, string>("authority", "https://...")
};
var dataUrl = DataUrl.NewDataUrl(
    jwtString, // Can also use a byte array
    "text/plain", 
    parameters
);

// When having another encoding other than default
DataUrl.NewDataUrl(byteArray, "text/plain", Encoding.UTF7);
DataUrl.NewDataUrl(byteArray, "text/plain", parameters, Encoding.UTF7);

  • .NETStandard 2.0

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.2 383 2/20/2019
1.0.1 108 2/18/2019
1.0.0 102 2/15/2019