import { useNavigate } from "@remix-run/react"; interface FileInfoProps { fileInfo: { fileName: string; contractNumber: string; fileSize?: string; fileFormat?: string; pageCount?: number; uploadTime?: string; uploadUser?: string; auditStatus?: number; path?: string; }; onConfirmResults: () => void; } export function FileInfo({ fileInfo, onConfirmResults }: FileInfoProps) { const navigate = useNavigate(); const handleDownloadFile = async () => { try { const urlBefore = 'http://172.18.0.100:9000/docauditai/'; const downloadUrl = `${urlBefore}${fileInfo.path}`; // 使用fetch获取文件内容 const response = await fetch(downloadUrl); if (!response.ok) { throw new Error(`下载失败: ${response.status} ${response.statusText}`); } // 将响应转换为Blob const blob = await response.blob(); // 创建Blob URL const blobUrl = URL.createObjectURL(blob); // 创建一个隐藏的a标签并点击它 const a = document.createElement('a'); a.style.display = 'none'; a.href = blobUrl; // 从路径中获取文件名 const fileName = fileInfo.path?.split('/').pop() || 'document'; a.download = decodeURIComponent(fileName); document.body.appendChild(a); a.click(); // 清理 setTimeout(() => { document.body.removeChild(a); URL.revokeObjectURL(blobUrl); }, 100); } catch (error) { console.error('下载文件失败:', error); alert(`下载文件失败: ${error instanceof Error ? error.message : '未知错误'}`); } }; const handleExportReport = () => { alert('导出评查报告功能'); }; return (