kbsearch-extension/pages/uploader.html
2025-06-16 14:46:10 +08:00

67 lines
3.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>上传文件到 MinIO/S3</title>
<style>
body { font-family: system-ui, sans-serif; background: #f7f9fb; margin: 0; }
.main-flex { display: flex; justify-content: center; align-items: flex-start; gap: 36px; min-height: 90vh;}
.uploader-main { flex: none; width: 410px; margin: 60px 0 0; background: #fff; border-radius: 13px; box-shadow: 0 6px 26px #ccc4; padding: 32px 38px 28px; }
.uploader-main h2 { text-align: center; font-size: 1.28rem; color: #1a2557; margin-bottom: 22px; }
.input-row { margin-bottom: 14px; }
.input-row label { font-size: 15px; color: #444; margin-right: 7px; }
.input-row input, .input-row select { width: 70%; padding: 6px 10px; border-radius: 6px; border: 1px solid #b8c7df; font-size: 15px; }
#drop-area {
width: 100%; min-height: 120px; border: 2px dashed #b7c7de; border-radius: 9px;
background: #f5f7fa; text-align: center; line-height: 120px; font-size: 15px; color: #98a8c7; margin-bottom: 16px; cursor: pointer; transition: border-color .18s;
}
#drop-area.dragover { border-color: #3b82f6; background: #f0f6ff; color: #234fa2; }
#uploadList { font-size: 13px; color: #888; margin-top: 7px; text-align: left;}
.desc { color: #99a; font-size: 13px; margin-bottom: 7px; }
#fileElem { display: none; }
.success { color: #2d974b; }
.error { color: #e64e4e; }
.tip { font-size:12px;color:#998; }
.progress-item { font-size: 14px; margin-bottom: 10px; color: #444; }
.file-label { display: inline-block; width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
.percent-label { font-size: 12px; color: #888; }
.upload-msg { margin-left: 8px; }
/* 右侧json面板 */
.result-panel { flex: none; width: 380px; margin: 60px 0 0; background: #fff; border-radius: 13px; box-shadow: 0 6px 26px #ccc4; padding: 28px 25px 22px;}
.result-panel h3 { font-size: 1rem; margin-bottom: 9px; color: #1a2557;}
#jsonResult { font-family: 'JetBrains Mono', 'Menlo', 'Consolas', monospace; background: #f7fafc; border-radius: 7px; padding: 13px 10px; font-size: 14px; color: #354f7d; white-space: pre; min-height: 62px; border:1px solid #e4e9f0;}
</style>
</head>
<body>
<div class="main-flex">
<div class="uploader-main">
<h2>上传文件到 MinIO/S3</h2>
<div class="desc">可拖拽或点击选择,支持多文件上传</div>
<div class="input-row">
<label for="bucketName">Bucket 名称:</label>
<select id="bucketName">
<option value="kbase">kbase公开</option>
<option value="kbase-priv">kbase-priv私有</option>
</select>
</div>
<div id="bucketTip" class="tip" style="margin-bottom:8px;"></div>
<div class="input-row">
<label for="folderName">目标文件夹:</label>
<input type="text" id="folderName" placeholder="默认 default可留空" />
</div>
<div class="tip" style="margin-bottom:12px;">* 如 bucket 不存在请先在 MinIO 控制台创建</div>
<div id="drop-area">
<div id="drop-msg">拖拽文件到此上传,或点击选择文件</div>
<input type="file" id="fileElem" multiple />
</div>
<div id="uploadList"></div>
</div>
<div class="result-panel">
<h3>上传结果 JSON</h3>
<pre id="jsonResult">{}</pre>
</div>
</div>
<script src="../scripts/uploader.js"></script>
</body>
</html>