Angular - 如何在没有 fs 的情况下检查文件是否存在
Angular - How to check if file exists without fs
作为 fs
seems not to work anymore since Angular 6
我还没有找到检查文件是否存在的替代方法。
在我的特殊情况下,我必须检查资产文件夹中是否存在特定图像文件,例如像这样:
if (fileExists('path')) { doSomething(); }
我试过安装 file-exists package 但它使用
const fs = require('fs')
const path = require('path')
Angular 7.
显然不支持
有没有人可以帮忙?非常感谢。
谢谢你,scipper。是的,这就是我现在的管理方式。但我希望有一个更简单的单行函数来检查这个。
这是代码(它 returns 文件夹,而不是文件,所以我可以将它用于更多目的):
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');
})
);
}
这是一个 returns 布尔 Observable 的片段,用于判断文件是否存在于给定 URL:
fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url)
.pipe(
map(response => {
return true;
}),
catchError(error => {
return of(false);
})
);
}
或者,同样的事情,但更简洁,one-line 格式:
public fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url).pipe(map(() => true), catchError(() => of(false)));
}
作为 fs
seems not to work anymore since Angular 6
我还没有找到检查文件是否存在的替代方法。
在我的特殊情况下,我必须检查资产文件夹中是否存在特定图像文件,例如像这样:
if (fileExists('path')) { doSomething(); }
我试过安装 file-exists package 但它使用
const fs = require('fs')
const path = require('path')
Angular 7.
显然不支持有没有人可以帮忙?非常感谢。
谢谢你,scipper。是的,这就是我现在的管理方式。但我希望有一个更简单的单行函数来检查这个。
这是代码(它 returns 文件夹,而不是文件,所以我可以将它用于更多目的):
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');
})
);
}
这是一个 returns 布尔 Observable 的片段,用于判断文件是否存在于给定 URL:
fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url)
.pipe(
map(response => {
return true;
}),
catchError(error => {
return of(false);
})
);
}
或者,同样的事情,但更简洁,one-line 格式:
public fileExists(url: string): Observable<boolean> {
return this.httpClient.get(url).pipe(map(() => true), catchError(() => of(false)));
}