thinkphp6 配合 bootstrap和webuploader呢
时间: 2023-09-19 10:04:57 浏览: 131
可以使用ThinkPHP6配合Bootstrap和WebUploader来实现文件上传功能。具体步骤如下:
1. 在composer.json文件中添加Bootstrap和WebUploader依赖,然后运行`composer update`命令进行安装。
```json
{
"require": {
"twbs/bootstrap": "^5.0",
"fex-team/webuploader": ">=0.1.5"
}
}
```
2. 在视图文件中引入Bootstrap和WebUploader的CSS和JS文件。
```html
<link rel="stylesheet" href="/vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="/vendor/fex-team/webuploader/dist/webuploader.css">
<script src="/vendor/twbs/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="/vendor/fex-team/webuploader/dist/webuploader.min.js"></script>
```
3. 在控制器中处理文件上传请求。
```php
public function upload()
{
$uploader = new \Uploader();
$uploader->set('allowFileType', ['jpg', 'png']);
$uploader->set('maxFileSize', 2 * 1024 * 1024);
$result = $uploader->upload('file');
if ($result['status'] === 'success') {
// 上传成功,保存文件路径到数据库或其他操作
$path = $result['path'];
return json(['code' => 0, 'msg' => '上传成功', 'data' => ['path' => $path]]);
} else {
// 上传失败
return json(['code' => 1, 'msg' => $result['message']]);
}
}
```
4. 在视图文件中添加文件上传的HTML代码。
```html
<form id="upload-form" enctype="multipart/form-data">
<div class="form-group">
<label for="file">选择文件</label>
<input type="file" class="form-control-file" id="file" name="file">
</div>
<button type="button" class="btn btn-primary" id="upload-btn">上传</button>
</form>
```
5. 在视图文件中添加文件上传的JavaScript代码。
```javascript
$(function() {
var uploader = WebUploader.create({
auto: true,
swf: '/vendor/fex-team/webuploader/dist/Uploader.swf',
server: '/upload',
pick: '#file',
formData: {
'_token': '{{ csrf_token() }}'
}
});
uploader.on('uploadSuccess', function(file, response) {
if (response.code === 0) {
// 上传成功,将文件路径显示到页面
var path = response.data.path;
$('#path').text(path);
} else {
alert(response.msg);
}
});
$('#upload-btn').click(function() {
uploader.upload();
});
});
```
以上就是使用ThinkPHP6配合Bootstrap和WebUploader实现文件上传功能的步骤。
阅读全文