【问题标题】:Angular - How to check if file exists without fsAngular - 如何在没有 fs 的情况下检查文件是否存在
【发布时间】:2019-04-06 16:39:18
【问题描述】:
【问题讨论】:
标签:
typescript
fs
angular7
【解决方案1】:
谢谢你,铲屎官。是的,这就是我现在管理它的方式。但我希望有一个更简单的单行函数来检查这一点。
这里是代码(它返回文件夹,而不是文件,所以我可以将它用于更多目的):
getFolder(subFolder: string): Observable<string> {
const folderPath = `assets/folder/${subFolder.toLocaleUpperCase()}`;
return this.httpClient
.get(`${folderPath}/file.png`, { observe: 'response', responseType: 'blob' })
.pipe(
map(response => {
return folderPath;
}),
catchError(error => {
return of('assets/folder/default');
})
);
}
【解决方案2】:
这是一个 sn-p,它返回一个布尔值 Observable,用于判断文件是否存在于给定的 URL:
fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url)
.pipe(
map(response => {
return true;
}),
catchError(error => {
return of(false);
})
);
}
或者,同样的事情,但采用更简洁的单行格式:
public fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url).pipe(map(() => true), catchError(() => of(false)));
}