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`;
}