『新手提问』图片上传问题. [ 2.0 版本 ]
图片可以成功保存,但是就是图片名保存不到数据库,字段长度没问题。控制器中我也挨个打印了,都没问题,就是保存不进去。琢磨了好几天了,求大神告知。程序没有报错,单个字段是空的
飒雅 补充于 2016-09-23 13:38
rule规则
{
return [
[['type', 'published_at'], 'string'],
[['name'], 'string', 'max' => 255],
[['url'], 'string', 'max' => 100],
[['url'], 'file', 'extensions' => ['png', 'jpg', 'gif']]
];
}
飒雅 补充于 2016-09-23 13:39
controller
public function actionCreate()
{
$model = new Ad();
if ($model->load(Yii::$app->request->post())) {
$model->url = UploadedFile::getInstance($model, 'url');
if (!empty($model->upload())) {
$model->url = $model->upload();
}
$model->published_at = strval(strtotime($model->published_at));
$model->save();
return $this->redirect(['index']);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
飒雅 补充于 2016-09-23 13:40
model中定义了一个存储路径与图片名转化随机码
public function upload()
{
$filename = Yii::$app->getSecurity()->generateRandomString() . '.' . $this->url->extension;
$savePath = \Yii::getAlias('@uploadsPath/' . '/ad/') . DIRECTORY_SEPARATOR;
FileHelper::createDirectory($savePath);
$this->url->saveAs($savePath . $filename);
return $filename;
}
飒雅 补充于 2016-09-23 13:40
其中url字段就是fileInput框。
共 4 个回答
飒雅 北京
注册时间:2016-06-12
最后登录:2019-02-25
在线时长:11小时38分
最后登录:2019-02-25
在线时长:11小时38分
- 粉丝6
- 金钱5
- 威望0
- 积分115