---
title: "Class RemoteImageLoader | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Services.RemoteImageLoader/RemoteImageLoader/"
---

# Class RemoteImageLoader

> **Inheritance:** `System.Object` -> RemoteImageLoader

###### **Namespace**: [Aurigma.DesignAtoms.Services.RemoteImageLoader](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Services.RemoteImageLoader.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class RemoteImageLoader : IRemoteImageLoader
```

## Implements

* [Aurigma.DesignAtoms.Services.RemoteImageLoader.IRemoteImageLoader](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Services.RemoteImageLoader/IRemoteImageLoader.md)

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### RemoteImageLoader

```csharp
public RemoteImageLoader(IFileCache fileCache, HttpClient httpClient, int retryCount = 0)
```

## Methods

### GetImageUrlCacheName

```csharp
public string GetImageUrlCacheName(Uri url)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *url* |  |

##### Returns

`System.String`

### IsExistsAsync

```csharp
public Task<bool> IsExistsAsync(string url)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.String` | *url* |  |

##### Returns

`System.Threading.Tasks.Task<System.Boolean>`

### IsExistsAsync

```csharp
public Task<bool> IsExistsAsync(Uri url)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *url* |  |

##### Returns

`System.Threading.Tasks.Task<System.Boolean>`

### GetImageUrlCachePrefix

```csharp
public string GetImageUrlCachePrefix(Uri url)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *url* |  |

##### Returns

`System.String`

### DownloadImageToCache

```csharp
public string DownloadImageToCache(Uri uri)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *uri* |  |

##### Returns

`System.String`

### DownloadImageToCacheAsync

```csharp
public Task<string> DownloadImageToCacheAsync(Uri uri)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *uri* |  |

##### Returns

`System.Threading.Tasks.Task<System.String>`

### DownloadImageToStreamAsync

```csharp
public Task<Stream> DownloadImageToStreamAsync(Uri uri)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *uri* |  |

##### Returns

`System.Threading.Tasks.Task<System.IO.Stream>`

### GetImageMetadataAsync

```csharp
public Task<WebImageMetadata> GetImageMetadataAsync(Uri uri)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *uri* |  |

##### Returns

`System.Threading.Tasks.Task<Aurigma.DesignAtoms.Services.RemoteImageLoader.WebImageMetadata>`

### ValidateCachedImageAsync

```csharp
public virtual Task<bool> ValidateCachedImageAsync(Uri uri, string storageId)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Uri` | *uri* |  |
| `System.String` | *storageId* |  |

##### Returns

`System.Threading.Tasks.Task<System.Boolean>`

### DownloadImagesToCacheAsync

```csharp
public Task DownloadImagesToCacheAsync(IEnumerable<string> urls)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Collections.Generic.IEnumerable<System.String>` | *urls* |  |

##### Returns

`System.Threading.Tasks.Task`
