feat: add document file download and admin page file display
1. 新增将文档元数据存入L1向量库的功能 2. 新增文档文件下载API接口,支持路径安全校验 3. 后端文档详情接口新增文件信息返回字段 4. 管理后台页面新增原始文件信息展示与下载链接
This commit is contained in:
@@ -398,6 +398,15 @@ function clearChildren(node) {
|
||||
while (node.firstChild) { node.removeChild(node.firstChild); }
|
||||
}
|
||||
|
||||
function formatFileSize(bytes) {
|
||||
var n = Number(bytes);
|
||||
if (!n || n <= 0) { return "0 B"; }
|
||||
var units = ["B", "KB", "MB", "GB"];
|
||||
var i = 0;
|
||||
while (n >= 1024 && i < units.length - 1) { n = n / 1024; i++; }
|
||||
return (i === 0 ? n : n.toFixed(1)) + " " + units[i];
|
||||
}
|
||||
|
||||
function showError(boxId, err) {
|
||||
var box = document.getElementById(boxId);
|
||||
clearChildren(box);
|
||||
@@ -768,6 +777,20 @@ function renderDocDetail(data) {
|
||||
meta3.appendChild(el("span", data.chunks_count));
|
||||
panel.appendChild(meta3);
|
||||
|
||||
/* 原始文件:有关联文件时展示文件名 + 大小 + 下载链接(textContent 防 XSS) */
|
||||
if (data.file) {
|
||||
var fileRow = el("div", null, "kv");
|
||||
fileRow.appendChild(el("span", "原始文件", "k"));
|
||||
fileRow.appendChild(
|
||||
el("span", (data.file.filename || "") + "(" + formatFileSize(data.file.size_bytes) + ")")
|
||||
);
|
||||
var dlLink = el("a", "下载");
|
||||
dlLink.href = location.origin + (data.file.url || "");
|
||||
dlLink.setAttribute("download", data.file.filename || "");
|
||||
fileRow.appendChild(dlLink);
|
||||
panel.appendChild(fileRow);
|
||||
}
|
||||
|
||||
panel.appendChild(el("h3", "L1 全文"));
|
||||
panel.appendChild(el("pre", l1.text || ""));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user