diff --git a/functions/dav/[[path]].js b/functions/dav/[[path]].js index de4658df..156df2c7 100644 --- a/functions/dav/[[path]].js +++ b/functions/dav/[[path]].js @@ -323,8 +323,19 @@ function createCollectionXml(path) { } function createFileXml(file) { - const now = new Date().toUTCString(); - const fileSize = file.metadata && file.metadata['FileSizeBytes'] ? file.metadata['FileSizeBytes'] : "0"; + // 文件大小:优先 FileSizeBytes(字节),回退到 FileSize(MB)转字节 + let fileSize = "0"; + if (file.metadata) { + if (file.metadata['FileSizeBytes']) { + fileSize = String(file.metadata['FileSizeBytes']); + } else if (file.metadata['FileSize']) { + fileSize = String(Math.round(parseFloat(file.metadata['FileSize']) * 1024 * 1024)); + } + } + // 修改时间:使用上传时间戳,回退到当前时间 + const timestamp = file.metadata && file.metadata['TimeStamp'] + ? new Date(Number(file.metadata['TimeStamp'])).toUTCString() + : new Date().toUTCString(); const contentType = file.metadata && file.metadata['FileType'] ? file.metadata['FileType'] : "application/octet-stream"; - return `${encodeURI(`/dav/${file.name}`)}${file.name.split('/').pop()}${now}${now}${fileSize}${contentType}HTTP/1.1 200 OK`; + return `${encodeURI(`/dav/${file.name}`)}${file.name.split('/').pop()}${timestamp}${timestamp}${fileSize}${contentType}HTTP/1.1 200 OK`; }