UploadedFile是Yii2自带的文件上传工具。
下面是在控制器里写的一个文件上传,作为笔记,还有待完善,要加文件类型验证、多文件上传等,而且还放到了Cotroller里了,应该放到Model里。
/**
* 上传图片
*/
public function actionUpload()
{
Yii::$app->response->format = Response::FORMAT_JSON;
if(Yii::$app->request->isPost) {
$image = UploadedFile::getInstanceByName('img');
$imageName = $image->getBaseName();
$ext = $image->getExtension();
$rootPath = 'assets/images/';
$path = $rootPath.date('Y/m/d/');
if (!file_exists($path)) {
mkdir($path, 0755, true);
}
$fullName = $path.$imageName.$ext;
if($image->saveAs($fullName)) {
return ['code'=>1, 'message'=>'保存图片成功', 'data'=>$fullName];
} else {
return ['code'=>0, 'message'=>'保存图片失败', 'data'=>$image->error];
}
} else {
return ['code'=>0, 'message'=>'不是POST'];
}
}
参考文档:https://www.yiiframework.com/doc/api/2.0/yii-web-uploadedfile