Skip to content

Commit da78d60

Browse files
leoiii12ihadeed
authored andcommitted
fix(): add URL resolver (#61)
1 parent 4dfc95f commit da78d60

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/components/img-loader.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Component, Input, Output, ElementRef, Renderer, OnInit, EventEmitter } from '@angular/core';
22
import { ImageLoader } from '../providers/image-loader';
33
import { ImageLoaderConfig } from '../providers/image-loader-config';
4+
import { File } from '@ionic-native/file';
45

56
@Component({
67
selector: 'img-loader',
@@ -113,15 +114,15 @@ export class ImgLoader implements OnInit {
113114

114115
element: HTMLElement;
115116

116-
constructor(
117-
private _element: ElementRef
118-
, private _renderer: Renderer
119-
, private _imageLoader: ImageLoader
120-
, private _config: ImageLoaderConfig
121-
) { }
117+
constructor(private _element: ElementRef,
118+
private _renderer: Renderer,
119+
private _imageLoader: ImageLoader,
120+
private _config: ImageLoaderConfig,
121+
private _file: File) {
122+
}
122123

123124
ngOnInit(): void {
124-
if(this.fallbackAsPlaceholder && this.fallbackUrl) {
125+
if (this.fallbackAsPlaceholder && this.fallbackUrl) {
125126
this.setImage(this.fallbackUrl, false);
126127
}
127128

@@ -186,7 +187,10 @@ export class ImgLoader implements OnInit {
186187
}
187188

188189
// set it's src
189-
this._renderer.setElementAttribute(this.element, 'src', imageUrl);
190+
this._file.resolveLocalFilesystemUrl(imageUrl).then((entry) => {
191+
this._renderer.setElementAttribute(this.element, 'src', entry.toInternalURL());
192+
});
193+
190194

191195
if (this.fallbackUrl && !this._imageLoader.nativeAvailable) {
192196
this._renderer.setElementAttribute(this.element, 'onerror', `this.src="${ this.fallbackUrl }"`);
@@ -218,8 +222,9 @@ export class ImgLoader implements OnInit {
218222
this._renderer.setElementStyle(this.element, 'background-repeat', this.backgroundRepeat);
219223
}
220224

221-
this._renderer.setElementStyle(this.element, 'background-image', 'url(\'' + ( imageUrl || this.fallbackUrl ) + '\')');
222-
225+
this._file.resolveLocalFilesystemUrl(imageUrl).then((entry) => {
226+
this._renderer.setElementStyle(this.element, 'background-image', 'url(\'' + ( entry.toInternalURL() || this.fallbackUrl ) + '\')');
227+
});
223228
}
224229

225230
this.load.emit(this);

0 commit comments

Comments
 (0)