yii2将文件上传到数据库

时间:2015-10-28 22:49:40

标签: database file-upload yii2

我想将上传的文件(pdf)附加到普通的创建功能,但它确实不起作用。我有模型,控制器,表单修改,它说上传,模型验证,但仍然,在db中没有pdf。我将字段设置为blob。什么可能是错的?

模型:

use yii\web\UploadedFile;
class MyModel extends \yii\db\ActiveRecord {

public $file;
...

public function rules() {
    return [
        [['file'], 'file', 'skipOnEmpty' => true, 'extensions' => 'pdf'],
...

_form:

$form = ActiveForm::begin([
    'enableClientValidation' => false,
    'options' => ['enctype' => 'multipart/form-data'],
    ]
...
<?= $form->field($model, 'file')->fileInput() ?>

控制器:

use yii\web\UploadedFile;
public function actionCreate() {
    $model = new MyModel;

    try {
        if ($model->load($_POST)) {
            $model->file = UploadedFile::getInstance($model, 'file');

            if ($model->save()) {
...

1 个答案:

答案 0 :(得分:1)

这适用于文件上传

$model->file = UploadedFile::getInstance($model, 'file');//Get the uploaded file

$model->file->saveAs('uploads/' . $model->file->name);//Save uploaded file at your desired location

$user->image = $model->file->name;//image is my database field name,to only save the name of the uploaded file

我希望这能说清楚并解决你的问题