diff --git a/backend/server.js b/backend/server.js index 445b9a0..66e78e5 100644 --- a/backend/server.js +++ b/backend/server.js @@ -2279,7 +2279,7 @@ app.get('/api/files', authMiddleware, async (req, res) => { return { name: item.name, - displayName: decodeHtmlEntities(item.name), + displayName: decodeHtmlEntities(item.name || ''), type: item.type === 'd' ? 'directory' : 'file', size: item.size, sizeFormatted: formatFileSize(item.size), diff --git a/frontend/app.js b/frontend/app.js index 02755a4..8308ce3 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -2017,7 +2017,7 @@ handleDragLeave(e) { // HTML实体解码(前端兜底,防止已实体化的文件名显示乱码) decodeHtmlEntities(str) { - if (typeof str !== 'string') return str; + if (typeof str !== 'string') return ''; const entityMap = { amp: '&', lt: '<', @@ -2052,9 +2052,11 @@ handleDragLeave(e) { getFileDisplayName(file) { if (!file) return ''; - const base = file.displayName || file.name || ''; + const base = (typeof file.displayName === 'string' && file.displayName !== '') + ? file.displayName + : (typeof file.name === 'string' ? file.name : ''); const decoded = this.decodeHtmlEntities(base); - return decoded || base; + return decoded || base || ''; }, openShare(url) {