fix: 知识库文档上传(尾斜杠+FormData+真文件接收); AI回复强制Markdown; 平台全功能知识库注入系统提示
This commit is contained in:
1 parent
62631a3b95
commit
463824480b
5 files changed
+183
-24
No files matched your search
@@ -617,10 +617,12 @@ const UploadDocModal: React.FC<{
|
||||
const [fileSize, setFileSize] = useState(102400);
|
||||
const [uploading, setUploading] = useState(false);
|
||||
const [progress, setProgress] = useState(0);
|
||||
const [selectedFile, setSelectedFile] = useState<File | null>(null);
|
||||
|
||||
const handleFileSelect = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
const file = e.target.files?.[0];
|
||||
if (file) {
|
||||
setSelectedFile(file);
|
||||
setFilename(file.name);
|
||||
const ext = file.name.split('.').pop()?.toLowerCase() || 'txt';
|
||||
setFileType(ext);
|
||||
@@ -633,7 +635,6 @@ const UploadDocModal: React.FC<{
|
||||
setUploading(true);
|
||||
setProgress(0);
|
||||
|
||||
// 模拟上传进度: 0 -> 90% in ~2 seconds (保留10%给成功动画)
|
||||
const interval = setInterval(() => {
|
||||
setProgress(prev => {
|
||||
if (prev >= 90) return prev;
|
||||
@@ -642,9 +643,25 @@ const UploadDocModal: React.FC<{
|
||||
}, 150);
|
||||
|
||||
try {
|
||||
await onUpload(kbId, filename.trim(), fileType, fileSize);
|
||||
const formData = new FormData();
|
||||
if (selectedFile) {
|
||||
formData.append('file', selectedFile);
|
||||
}
|
||||
formData.append('filename', filename.trim());
|
||||
formData.append('file_type', fileType);
|
||||
formData.append('file_size', String(fileSize));
|
||||
|
||||
const token = localStorage.getItem('aiflow_token');
|
||||
const res = await fetch(`/app/api/knowledge/bases/${kbId}/documents`, {
|
||||
method: 'POST',
|
||||
headers: { 'Authorization': `Bearer ${token}` },
|
||||
body: formData,
|
||||
});
|
||||
const data = await res.json();
|
||||
if (!res.ok || data.code !== 0) {
|
||||
throw new Error(data.message || data.detail || '上传失败');
|
||||
}
|
||||
clearInterval(interval);
|
||||
// 上传成功后先显示100% 800ms,让进度条动画完整可见,再关闭弹窗
|
||||
setProgress(100);
|
||||
setTimeout(() => {
|
||||
onClose();
|
||||
|
||||
Reference in new issue
Block a user