- 在后台添加表单字段:在自定义表单的管理界面中,增加一个允许上传文件的字段。
- 在前台模板中调用上传组件:在用户提交表单的页面上,放置一个文件上传的控件。
下面是详细的图文步骤说明。

(图片来源网络,侵删)
第一步:在后台添加附件类型的表单字段
这一步的目的是告诉DedeCMS你的数据表里有一个字段是用来存文件信息的。
-
登录后台:使用你的管理员账号登录DedeCMS后台。
-
进入自定义表单管理:
- 在左侧菜单栏找到 【核心】 -> 专题管理】。
- 在展开的菜单中点击 【自定义表单】。
-
编辑表单:
(图片来源网络,侵删)- 在自定义表单列表页面,找到你想要修改的那个表单,点击后面的 【管理字段】 或 【修改】,通常推荐 【管理字段】,因为这是专门用来增删改查表单字段的。
- 这里我们点击 【管理字段】。
-
添加新字段:
- 进入字段管理页面后,你会看到当前表单已有的所有字段,点击右上角的 【增加字段】 按钮。
- 在弹出的字段添加页面中,填写以下关键信息:
- 字段名称:填写一个英文或数字的名称,
file、attachment、resume等。这个名称非常重要,后面在模板中需要用到。 - 字段类型:这是最关键的一步!从下拉菜单中选择 【附件】。
- 字段说明:填写一个对用户友好的名称,上传附件”、“个人简历”、“相关文件”等,这个名称会显示在前台表单上,作为字段的标签。
- 默认值:可以留空。
- 是否必填:根据你的需求选择,如果用户必须上传文件,就勾选上。
- 其他选项:如“数据列表显示”、“发布表单调用”等,可以根据需要设置,通常默认即可。
- 字段名称:填写一个英文或数字的名称,
-
保存字段:
- 点击 【保存】 按钮。
完成这一步后,DedeCMS已经自动在你的 dede_addonxx (xx是数字) 数据表中为你创建了一个对应类型的字段,并准备好了处理上传的逻辑。
第二步:在前台模板中调用上传组件
后台的字段已经添加好了,现在我们需要在前台让用户能看到并使用这个上传功能,这需要你修改提交表单的模板文件。

(图片来源网络,侵删)
-
找到模板文件:
- 自定义表单的模板文件通常位于
/templets/plus/目录下。 - 文件名通常是
diy_form.htm,如果你的表单有多个不同的提交页面,也可能是其他名字,diy_form_1.htm等。 - 你可以在后台 【自定义表单】 -> 【管理表单】 中,点击对应表单的 【修改】 按钮,在表单属性里可以看到 【发布页模板】 的路径,确认一下你要修改的是哪个文件。
- 自定义表单的模板文件通常位于
-
在模板中添加上传代码:
- 用FTP或主机管理面板的文件管理器,打开
diy_form.htm文件。 - 在你希望显示上传框的位置,添加以下代码。
代码示例:
<li> <label for="file"><strong>上传附件:</strong></label> <!-- name 属性的值必须和第一步中你填写的【字段名称】完全一致 id 属性可以自定义,最好和 name 保持一致,方便JS操作 --> <input type="file" name="file" id="file" class="int" size="40" /> <!-- 这个隐藏字段非常重要! 它的 name 属性也必须和你的【字段名称】一致。 它的 value 会被织梦系统自动替换成你上传后的文件路径和名称。 --> <input type="hidden" name="file" value="" /> </li>代码解释:
<input type="file">:这是标准的HTML文件上传控件,name属性必须与你在后台设置的字段名称完全一致。<input type="hidden">:这是一个隐藏的文本框,它的name属性也必须与后台的字段名称一致,当用户在前台选择文件并提交表单时,DedeCMS的后台处理程序会读取用户上传的文件,将其保存到服务器上,然后将这个文件的路径(/uploads/attachment/202510/10/a1b2c3d4.jpg)填充到这个隐藏框的value中,并最终保存到数据库里。这个隐藏框是必不可少的。
- 用FTP或主机管理面板的文件管理器,打开
-
保存模板文件:
- 保存并上传修改后的
diy_form.htm文件到你的服务器。
- 保存并上传修改后的
第三步:测试与数据查看
整个功能已经搭建完成。
-
前台测试:
- 清除浏览器缓存,或者使用无痕模式访问你的表单提交页面。
- 你应该能看到“上传附件”这个标签和一个“选择文件”的按钮。
- 尝试选择一个文件并提交表单,确保提交成功。
-
后台查看数据:
- 回到DedeCMS后台,进入 【自定义表单】 -> 【管理表单内容】。
- 找到你刚刚提交的那条记录,点击 【编辑】。
- 在编辑页面,你应该能看到你上传的附件,并且可以直接点击文件名进行下载。
常见问题与注意事项
-
文件上传失败/无权限:
- 检查DedeCMS安装目录下的
uploads文件夹及其子目录(如uploads/attachment)的权限是否为755或777,Linux服务器下,通常需要确保Web服务器(如Nginx、Apache)用户对该目录有写入权限。 - 检查后台 【系统】 -> 【系统基本参数】 -> 【附件设置】 中,是否限制了上传文件的大小或类型。
- 检查DedeCMS安装目录下的
-
后台看不到上传的字段:
- 确认你是在 【管理字段】 里添加的,而不是在修改表单属性里。
- 确认字段类型选择的是 【附件】。
-
前台没有上传按钮:
- 确认模板文件中的
<input type="file">的name属性与后台字段名称完全一致,包括大小写。 - 检查浏览器控制台(按F12)是否有JS错误。
- 确认模板文件中的
-
文件路径问题:
- DedeCMS默认将附件上传到
/uploads/attachment/目录下,并以年月日作为子目录分类,你可以在后台的附件设置中修改这个路径。
- DedeCMS默认将附件上传到
通过以上三个步骤,你就可以成功地在DedeCMS自定义表单中添加一个功能完善的附件上传字段了。
