parseFileNameAndExtensions 解析文件名和扩展名,支持多重扩展名 例如: "1721205308914.pdf.md" -> baseName: "1721205308914", extensions: ".pdf.md"
(filename string)
| 560 | // parseFileNameAndExtensions 解析文件名和扩展名,支持多重扩展名 |
| 561 | // 例如: "1721205308914.pdf.md" -> baseName: "1721205308914", extensions: ".pdf.md" |
| 562 | func (dm *DirectoryManager) parseFileNameAndExtensions(filename string) (baseName, extensions string) { |
| 563 | // 找到第一个扩展名的位置 |
| 564 | firstDotIndex := strings.Index(filename, ".") |
| 565 | if firstDotIndex == -1 { |
| 566 | // 没有扩展名 |
| 567 | return filename, "" |
| 568 | } |
| 569 | |
| 570 | // 分割文件名和扩展名 |
| 571 | baseName = filename[:firstDotIndex] |
| 572 | extensions = filename[firstDotIndex:] |
| 573 | return baseName, extensions |
| 574 | } |
| 575 | |
| 576 | // generateUniqueFileName 生成唯一文件名,类似浏览器的下载文件重命名逻辑、类似 windows 的回收站 |
| 577 | // 修改:将序号插入到倒数第二个字符位置,如 "1721205308914.pdf.md" -> "1721205308914(1).pdf.md" |
no outgoing calls
no test coverage detected