tp6 上传图片
上传代码:
<?php
namespace app\api\controller;
use app\common\controller\Api;
class Image extends Api
{
protected $noNeedLogin = ['*'];
/**
* 上传图片
*/
public function upload() {
if(!$this->request->isPost()){
$this->error('请求不合法');
}
//获取文件信息
// dump($_FILES);
$file = $this->request->file();
//创建文件(注意更改config->filesystem的路径)
// echo $file['file']; exit;
$fileName = \think\facade\Filesystem::disk('public')->putFile('image',$file['file']);
// 验证失败
if(!$fileName){
$this->error('上传图片失败');
}
//组装
$imageUrl = [
'image' => '/upload/'.$fileName
];
// 返回
$this->success('上传成功',$imageUrl);
}
}
filesystem配置:
<?php
use think\facade\Env;
return [
'default' => Env::get('filesystem.driver', 'local'),
'disks' => [
'local' => [
'type' => 'local',
'root' => app()->getRootPath().'public',
'url' => '/',
'visibility' => 'public',
],
'public' => [
// 磁盘类型
'type' => 'local',
// 磁盘路径
'root' => app()->getRootPath() . 'public/upload',
// 磁盘路径对应的外部URL路径
'url' => '/upload',
// 可见性
'visibility' => 'public',
],
// 更多的磁盘配置信息
],
];