mirror of
https://github.com/xuthus83/pigallery2.git
synced 2024-11-03 21:04:03 +08:00
Fixing url encoding issues #272
URLs that contain special characters (got media, face or directory) got parsed the wrong way, this commit fixes it.
This commit is contained in:
parent
ea3506c388
commit
355df1d022
@ -13,6 +13,6 @@ export class Person implements PersonDTO {
|
||||
}
|
||||
|
||||
public static getThumbnailUrl(that: PersonDTO): string {
|
||||
return Utils.concatUrls(Config.Client.urlBase, '/api/person/', that.name, '/thumbnail');
|
||||
return Utils.concatUrls(Config.Client.urlBase, '/api/person/', encodeURIComponent(that.name), '/thumbnail');
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ export class FaceComponent implements OnInit, OnDestroy {
|
||||
@Input() person: PersonDTO;
|
||||
@Input() size: number;
|
||||
|
||||
thumbnail: PersonThumbnail = null;
|
||||
public thumbnail: PersonThumbnail = null;
|
||||
public searchQueryDTOstr: string;
|
||||
|
||||
constructor(private thumbnailService: ThumbnailManagerService,
|
||||
@ -43,8 +43,7 @@ export class FaceComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
getSanitizedThUrl(): SafeStyle {
|
||||
return this.sanitizer.bypassSecurityTrustStyle('url(' +
|
||||
encodeURI(this.thumbnail.Src)
|
||||
return this.sanitizer.bypassSecurityTrustStyle('url(' + this.thumbnail.Src
|
||||
.replace(/\(/g, '%28')
|
||||
.replace(/'/g, '%27')
|
||||
.replace(/\)/g, '%29') + ')');
|
||||
|
@ -24,12 +24,12 @@ export class MediaIcon {
|
||||
}
|
||||
|
||||
getRelativePath(): string {
|
||||
return Utils.concatUrls(this.media.directory.path,
|
||||
return encodeURI(Utils.concatUrls(this.media.directory.path,
|
||||
this.media.directory.name,
|
||||
this.media.name)
|
||||
this.media.name))
|
||||
// do not escape all urls with encodeURIComponent because that make the URL ugly and not needed
|
||||
// do not escape before concatUrls as that would make prevent optimizations
|
||||
.replace(new RegExp('%', 'g'), '%25') // order important
|
||||
// .replace(new RegExp('%', 'g'), '%25') // order important
|
||||
.replace(new RegExp('#', 'g'), '%23')
|
||||
.replace(new RegExp('\\$', 'g'), '%24');
|
||||
}
|
||||
|
@ -31,8 +31,7 @@ export class GalleryDirectoryComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
getSanitizedThUrl(): SafeStyle {
|
||||
return this.sanitizer.bypassSecurityTrustStyle('url(' +
|
||||
encodeURI(this.thumbnail.Src)
|
||||
return this.sanitizer.bypassSecurityTrustStyle('url(' + this.thumbnail.Src
|
||||
.replace(/\(/g, '%28')
|
||||
.replace(/'/g, '%27')
|
||||
.replace(/\)/g, '%29') + ')');
|
||||
|
@ -94,7 +94,8 @@ export class GalleryService {
|
||||
}
|
||||
|
||||
try {
|
||||
const cw = await this.networkService.getJson<ContentWrapperWithError>('/gallery/content/' + directoryName, params);
|
||||
const cw = await this.networkService.getJson<ContentWrapperWithError>('/gallery/content/' +
|
||||
encodeURIComponent(directoryName), params);
|
||||
|
||||
|
||||
if (!cw || cw.notModified === true) {
|
||||
|
Loading…
Reference in New Issue
Block a user