diff --git "a/src/app/community/community-detail/\133communityId\135/page.tsx" "b/src/app/community/community-detail/\133communityId\135/page.tsx"
index e366843..33011eb 100644
--- "a/src/app/community/community-detail/\133communityId\135/page.tsx"
+++ "b/src/app/community/community-detail/\133communityId\135/page.tsx"
@@ -142,12 +142,13 @@
     const handleSubmit = async () => {
         try {
             const currentDate = new Date().toISOString();
+            console.log(formData);
             const postData = {
                 userId, // 记得用户登录状态获取
                 threadPicture: formData.threadPicture,
                 title: formData.title,
                 content: formData.content,
-                createdAt: currentDate,
+                createAt: currentDate.slice(0, 10),
                 communityId: communityId // 从URL参数获取的社区ID
             };
             // 发送POST请求
@@ -213,7 +214,7 @@
                     {threads.map((thread) => (
                         <Card key={thread.threadId} className="resource-card" onClick={() => router.push(`/community/thread-detail/${thread.threadId}`)}>
                             <Image
-                                src={process.env.NEXT_PUBLIC_NGINX_URL + thread.threadPicture}
+                                src={ thread.threadPicture}
                                 alt={thread.title}
                                 width="368"
                                 height="200"
@@ -285,8 +286,9 @@
                                 try {
                                     const res = await axios.post(`${process.env.PUBLIC_URL}/file`, formData);
 
-                                    const fileUrl = res.data.url;
+                                    const fileUrl = res.data;
                                     console.log(fileUrl);
+                                    setFormData(prev => ({ ...prev, threadPicture: fileUrl }))
                                     toast.current?.show({ severity: 'success', summary: '上传成功' });
                                 } catch (error) {
                                     console.log(error);
