file.ts 656 B

12345678910111213141516171819
  1. /** 从 URL 中提取文件名 */
  2. export const getFileNameFromUrl = (url: string): string => {
  3. try {
  4. const urlObj = new URL(url)
  5. const pathname = urlObj.pathname
  6. const fileName = pathname.split('/').pop() || 'unknown'
  7. return decodeURIComponent(fileName)
  8. } catch {
  9. // 如果 URL 解析失败,尝试从字符串中提取
  10. const parts = url.split('/')
  11. return parts[parts.length - 1] || 'unknown'
  12. }
  13. }
  14. /** 判断是否为图片 */
  15. export const isImage = (filename: string): boolean => {
  16. const ext = filename.split('.').pop()?.toLowerCase() || ''
  17. return ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg'].includes(ext)
  18. }