diff --git a/src/pages/PublishSeed/PublishSeed.jsx b/src/pages/PublishSeed/PublishSeed.jsx
index f27ebc2..7287e82 100644
--- a/src/pages/PublishSeed/PublishSeed.jsx
+++ b/src/pages/PublishSeed/PublishSeed.jsx
@@ -1,54 +1,81 @@
-import React, { useState, useRef } from 'react';
+// export default PublishSeed;
+import React, { useState, useRef, useEffect } from 'react';
 import axios from 'axios';
 import Header from '../../components/Header';
 import './PublishSeed.css';
 import { useUser } from '../../context/UserContext';
 
 const PublishSeed = () => {
+  console.log('[DEBUG] PublishSeed 组件渲染');
+
   const [title, setTitle] = useState('');
   const [description, setDescription] = useState('');
   const [tags, setTags] = useState([]);
   const [category, setCategory] = useState('movie');
-  const [imageUrl, setImageUrl] = useState('');
   const [message, setMessage] = useState('');
   const [isLoading, setIsLoading] = useState(false);
   const [fileName, setFileName] = useState('');
+  const [imageFile, setImageFile] = useState(null);
+  const [previewUrl, setPreviewUrl] = useState('');
 
-  const fileInputRef = useRef(null); // ✅ 获取 input file 引用
+  const fileInputRef = useRef(null);
+  const imageInputRef = useRef(null);
   const { user } = useUser();
 
+  useEffect(() => {
+    console.log('[DEBUG] 当前用户:', user);
+  }, [user]);
+
   const handleTagsChange = (e) => {
-    setTags(e.target.value.split(',').map(tag => tag.trim()));
+    console.log('[DEBUG] 标签输入变化:', e.target.value);
+    setTags(e.target.value.split(',').map(tag => tag.trim()).filter(Boolean));
   };
 
   const handleFileButtonClick = () => {
-    fileInputRef.current?.click(); // 点击隐藏的 input
+    console.log('[DEBUG] 触发文件选择按钮点击');
+    fileInputRef.current?.click();
+  };
+
+  const handleImageButtonClick = () => {
+    console.log('[DEBUG] 触发封面图片选择按钮点击');
+    imageInputRef.current?.click();
   };
 
   const handleFileChange = (e) => {
+    console.log('[DEBUG] 种子文件选择变化:', e.target.files);
     const selectedFile = e.target.files[0];
     if (selectedFile) {
-      setFileName(selectedFile.name); // 仅展示文件名
+      setFileName(selectedFile.name);
     }
   };
 
-  const handleSubmit = async (e) => {
-    e.preventDefault();
-    console.log('[handleSubmit] 表单提交开始');
+  const handleImageChange = (e) => {
+    console.log('[DEBUG] 封面图片选择变化:', e.target.files);
+    const img = e.target.files[0];
+    if (!img) return;
+    setImageFile(img);
+    setPreviewUrl(URL.createObjectURL(img));
+  };
 
-    const currentFile = fileInputRef.current?.files[0]; // ✅ 获取文件
-    console.log('[handleSubmit] currentFile:', currentFile);
+  const handleSubmit = async (e) => {
+    console.log('[DEBUG] handleSubmit 被触发', e);
+    e.preventDefault();
 
     setIsLoading(true);
     setMessage('');
 
-    if (!user || !user.id) {
+    const currentFile = fileInputRef.current?.files[0];
+    console.log('[DEBUG] 当前选择文件:', currentFile);
+
+    if (!user || !user.userId) {
+      console.log('[DEBUG] 用户未登录，阻止上传');
       setMessage('请先登录');
       setIsLoading(false);
       return;
     }
 
     if (!currentFile || !currentFile.name.toLowerCase().endsWith('.torrent')) {
+      console.log('[DEBUG] 文件校验失败');
       setMessage('请上传一个 .torrent 文件');
       setIsLoading(false);
       return;
@@ -59,21 +86,25 @@
     formData.append('title', title);
     formData.append('description', description);
     formData.append('category', category);
-    formData.append('imageUrl', imageUrl);
-    formData.append('tags', tags.join(','));
-    formData.append('uploader', user.id);
+    formData.append('tags', tags.join(',')); // 逗号分隔字符串
+    formData.append('uploader', user.userId);
+
+    if (imageFile) {
+      formData.append('image_url', imageFile);
+    }
 
     try {
+      console.log('[DEBUG] 发送上传请求...');
       const response = await axios.post('/seeds/upload', formData, {
-        headers: {
-          'Content-Type': 'multipart/form-data',
-        },
+        // axios 会自动处理 multipart/form-data Content-Type 边界，不用手动设置
+        // headers: { 'Content-Type': 'multipart/form-data' },
       });
+      console.log('[DEBUG] 请求成功，响应:', response.data);
 
-      if (response.data.code === 0) {
+      if (response.data.status === 'success') {
         setMessage('种子上传成功');
       } else {
-        setMessage(response.data.msg || '上传失败，请稍后再试');
+        setMessage(response.data.message || '上传失败，请稍后再试');
       }
     } catch (error) {
       console.error('[handleSubmit] 上传失败:', error);
@@ -88,13 +119,22 @@
       <Header />
       <div className="pub-card">
         {message && <div className="message">{message}</div>}
-        <form onSubmit={handleSubmit} encType="multipart/form-data">
+        <form
+          onSubmit={(e) => {
+            console.log('[DEBUG] form onSubmit 触发');
+            handleSubmit(e);
+          }}
+          encType="multipart/form-data"
+        >
           <div className="title-tag">
             <label>标题</label>
             <input
               type="text"
               value={title}
-              onChange={(e) => setTitle(e.target.value)}
+              onChange={(e) => {
+                console.log('[DEBUG] 标题输入变化:', e.target.value);
+                setTitle(e.target.value);
+              }}
               required
             />
           </div>
@@ -103,7 +143,10 @@
             <label>描述</label>
             <textarea
               value={description}
-              onChange={(e) => setDescription(e.target.value)}
+              onChange={(e) => {
+                console.log('[DEBUG] 描述输入变化:', e.target.value);
+                setDescription(e.target.value);
+              }}
               required
             />
           </div>
@@ -123,7 +166,10 @@
             <label>分类</label>
             <select
               value={category}
-              onChange={(e) => setCategory(e.target.value)}
+              onChange={(e) => {
+                console.log('[DEBUG] 分类选择变化:', e.target.value);
+                setCategory(e.target.value);
+              }}
               required
             >
               <option value="movie">电影</option>
@@ -134,7 +180,11 @@
 
           <div className="seed-file">
             <label>种子文件</label>
-            <div className="seed-file-label" onClick={handleFileButtonClick}>
+            <div
+              className="seed-file-label"
+              onClick={handleFileButtonClick}
+              style={{ cursor: 'pointer' }}
+            >
               点击选择文件
             </div>
             <input
@@ -148,28 +198,36 @@
           </div>
 
           <div className="form-group">
-            <label>封面图URL</label>
-            <input
-              type="url"
-              value={imageUrl}
-              onChange={(e) => setImageUrl(e.target.value)}
-              placeholder="例如：http://example.com/images/cover.jpg"
-              required
-              style={{
-                padding: '1%',
-                width: '100%',
-                borderRadius: '6px',
-                border: '1px solid #e0c4a1',
-                backgroundColor: '#fff5f5',
-                color: '#5F4437',
-                fontSize: '1rem',
-                marginBottom: '2%',
-              }}
-            />
+            <label>封面图</label>
+            <div className="cover-upload">
+              <button type="button" onClick={handleImageButtonClick}>
+                上传图片
+              </button>
+              <input
+                type="file"
+                accept="image/*"
+                ref={imageInputRef}
+                onChange={handleImageChange}
+                style={{ display: 'none' }}
+              />
+            </div>
+            {previewUrl && (
+              <div style={{ marginTop: '10px' }}>
+                <img
+                  src={previewUrl}
+                  alt="封面预览"
+                  style={{ maxWidth: '100%', maxHeight: '200px' }}
+                />
+              </div>
+            )}
           </div>
 
           <div className="upload-button">
-            <button type="submit" disabled={isLoading}>
+            <button
+              type="submit"
+              disabled={isLoading}
+              onClick={() => console.log('[DEBUG] 上传按钮 onClick 触发')}
+            >
               {isLoading ? '正在上传...' : '上传种子'}
             </button>
           </div>
