Creates a data:
URI containing an encoding of bytes
.
Equivalent to new Uri.dataFromBytes(...).data
, but may
be more efficient if the uri itself isn't used.
Source
factory UriData.fromBytes(List<int> bytes, {mimeType: "application/octet-stream", Map<String, String> parameters, percentEncoded: false}) { StringBuffer buffer = new StringBuffer(); List<int> indices = [_noScheme]; _writeUri(mimeType, null, parameters, buffer, indices); indices.add(buffer.length); if (percentEncoded) { buffer.write(','); _uriEncodeBytes(_uricTable, bytes, buffer); } else { buffer.write(';base64,'); indices.add(buffer.length - 1); BASE64.encoder .startChunkedConversion( new StringConversionSink.fromStringSink(buffer)) .addSlice(bytes, 0, bytes.length, true); } return new UriData._(buffer.toString(), indices, null); }