DataUtils.DataUrl 1.0.1

Implementation of the DataUrl scheme (rfc2397)

There is a newer version of this package available.
See the version list below for details.
Install-Package DataUtils.DataUrl -Version 1.0.1
dotnet add package DataUtils.DataUrl --version 1.0.1
<PackageReference Include="DataUtils.DataUrl" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DataUtils.DataUrl --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Library that can be used to create and read data from a DataUrl (rfc2397)

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

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(myString, "text/plain", Encoding.UTF7);
DataUrl.NewDataUrl(myString, "text/plain", parameters, Encoding.UTF7);

All of the methods above will throw DataUrlParseException in case it's not possible to construct a DataUrl instance. You can also use DataUrlParser.TryParse if you don't want to deal with exceptions.

DataUrl parsedDataUrl;
DataUrlParser.TryParse(dataUrlString, ref parsedDataUrl);
if (parsedDataUrl != null) {
    // We could parse a data url
}

Library that can be used to create and read data from a DataUrl (rfc2397)

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

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(myString, "text/plain", Encoding.UTF7);
DataUrl.NewDataUrl(myString, "text/plain", parameters, Encoding.UTF7);

All of the methods above will throw DataUrlParseException in case it's not possible to construct a DataUrl instance. You can also use DataUrlParser.TryParse if you don't want to deal with exceptions.

DataUrl parsedDataUrl;
DataUrlParser.TryParse(dataUrlString, ref parsedDataUrl);
if (parsedDataUrl != null) {
    // We could parse a data url
}

  • .NETStandard 2.0

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.2 668 2/20/2019
1.0.1 112 2/18/2019
1.0.0 106 2/15/2019