Form
记录一下,原生的 Form 提交的数据格式。许多现代化的组件库中,文件上传组件功能,仍然默认使用 FormData 格式上传,通过 action 属性指定调用的地址
<form action="/todo/update" method="POST" enctype="multipart/form-data">
<!-- 原有表单项:保留所有功能 -->
<div class="form-group">
<label for="todoName">任务名称</label>
<input type="text" id="todoName" name="todoName" placeholder="请输入任务名称" required>
</div>
<div class="form-group">
<label for="priority">任务优先级</label>
<select id="priority" name="priority" required>
<option value="">请选择优先级</option>
<option value="high">高优先级</option>
<option value="medium" selected>中优先级</option>
<option value="low">低优先级</option>
</select>
</div>
<div class="form-group">
<label for="description">任务描述</label>
<textarea id="description" name="description" rows="4" placeholder="请输入任务详细描述"></textarea>
</div>
<div class="form-group">
<label>任务标签(可多选)</label>
<div class="checkbox-group">
<input type="checkbox" id="tagWork" name="tags" value="work">
<label for="tagWork">工作</label>
<input type="checkbox" id="tagLife" name="tags" value="life">
<label for="tagLife">生活</label>
<input type="checkbox" id="tagStudy" name="tags" value="study">
<label for="tagStudy">学习</label>
</div>
</div>
<div class="form-group">
<label>任务状态</label>
<div class="checkbox-group">
<input type="radio" id="statusPending" name="status" value="pending" checked>
<label for="statusPending">待处理</label>
<input type="radio" id="statusDoing" name="status" value="doing">
<label for="statusDoing">处理中</label>
<input type="radio" id="statusDone" name="status" value="done">
<label for="statusDone">已完成</label>
</div>
</div>
<input type="hidden" name="todoId" value="1001">
<!-- 新增:1. 单文件上传 -->
<div class="form-group">
<label for="singleFile">单文件上传(如任务封面)</label>
<input type="file" id="singleFile" name="singleFile" accept=".jpg,.png,.pdf">
<div class="file-tip">支持格式:jpg、png、pdf,仅可选择1个文件</div>
</div>
<!-- 新增:2. 多文件上传 -->
<div class="form-group">
<label for="multiFiles">多文件上传(如任务附件)</label>
<input type="file" id="multiFiles" name="multiFiles" multiple accept=".doc,.docx,.xls,.xlsx,.pdf">
</div>
<!-- 提交按钮 -->
<button type="submit">提交更新(含文件)</button>
</form>将会产生如下的请求,通过 FormData 携带二进制数据