fastadmin多图上传并每个图片要添加一个描述
时间: 2024-01-20 07:02:12 浏览: 28
FastAdmin默认使用WebUploader进行多图上传,可以通过修改上传控件的配置,实现每个图片要添加一个描述的需求。以下是具体步骤:
1. 在需要添加多图上传的表单页面中,添加一个文本框用于输入每个图片的描述信息。
2. 在控制器中,将文本框的name属性值作为webuploader的描述字段传递给视图页面。
例如,在编辑页面中添加一个文本框:
```html
<div class="form-group">
<label class="col-sm-2 control-label">图片描述</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="desc[]" placeholder="请输入图片描述" value="<?php echo htmlentities($vo['desc']); ?>">
</div>
</div>
```
在控制器中,将文本框的name属性值作为webuploader的描述字段传递给视图页面:
```php
// 图片上传
$this->assign('upload', [
'url' => url('upload/image'),
'name' => 'file',
'data' => [
'thumb' => 1,
'water' => 1,
'desc' => 'desc[]' // 添加图片描述
]
]);
```
3. 在webuploader的上传控件中,添加描述字段,并将描述字段作为参数传递给后台。
例如,在webuploader的上传控件中,添加描述字段:
```javascript
uploader = WebUploader.create({
...
formData: {
...
desc: desc // 描述字段
}
});
```
在后台处理上传的图片时,可以通过获取上传控件传递的描述字段,将描述信息存储到数据库中。
例如,在处理上传图片的控制器方法中,获取描述字段:
```php
$desc = $this->request->post('desc/a', []);
```
然后,将描述信息与上传的图片一起存储到数据库中。
这样,就实现了每个上传的图片要添加一个描述的需求。