web-01-api/src/utils/file.util.ts
2026-06-22 10:26:29 +08:00

15 lines
506 B
TypeScript

import path from 'path';
/**
* 把磁盘绝对路径转换成可访问的相对 URL
* 例如:/Users/xxx/server/uploads/2026/01/abc.jpg -> /uploads/2026/01/abc.jpg
*/
export function filePathToUrl(absPath: string): string {
const root = (process.env.UPLOAD_ROOT ?? './uploads').replace(/^\.\/?/, '');
const idx = absPath.replace(/\\/g, '/').indexOf(root);
if (idx >= 0) {
return '/' + absPath.replace(/\\/g, '/').slice(idx).replace(/^\/+/, '/');
}
return '/' + path.basename(absPath);
}