15 lines
506 B
TypeScript
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);
|
|
}
|