php - Yii2.0 如何通过 POST API 上传文件到服务器?

标签 php yii2

我通过这个链接在 yii2 中制作了一个模型 http://www.yiiframework.com/doc-2.0/guide-input-file-upload.html 我使用 POST 请求将文件发布到 API,并在我的 Controller 中获取了所有文件信息,但无法使用使用上述链接创建的 Yii2.0 模型上传文件正常的 PHP 文件上传代码工作正常。 这是我的 Controller 代码

public function actionUploadFile()
    {
        $upload = new UploadForm();
        var_dump($_FILES);

        $upload->imageFile = $_FILES['image']['tmp_name'];
        //$upload->imageFile = $_FILES;
        var_dump($upload->upload());
    }

我的模型代码是

class UploadForm extends Model
    {
    /**
     * @var UploadedFile
     */
    public $imageFile;

    public function rules()
    {
        return [
            [['imageFile'], 'safe'],
            [['imageFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'],
        ];
    }

    public function upload()
    {
        try {
            if ($this->validate()) {
                $this->imageFile->saveAs('/var/www/html/' . $this->imageFile->baseName . '.' . $this->imageFile->extension);
                var_dump("Jeree");
                return true;
            } else {
                var_dump($this->getErrors());
                return false;
            }
        }catch (ErrorException $e) {
            var_dump($e->getMessage());
        }
    }
    }

最佳答案

这样试试

public function actionUpload()
{
   $model = new UploadForm();

   if (Yii::$app->request->isPost) {
       $model->file = UploadedFile::getInstance($model, 'file');

       if ($model->validate()) {                
          $model->file->saveAs('/var/www/html/' . $model->file->baseName . '.' . $model->file->extension);
       }
    }

    return $this->render('upload', ['model' => $model]);
}

关于php - Yii2.0 如何通过 POST API 上传文件到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33119257/

相关文章:

php - Yii2 两个 submitButtons 去错 URL

yii2 - Codeception 和 SonarQube PHP [无法读取 phpUnit 报告]

validation - 在编辑案例 Yii2 中应用不同的验证规则

php - AjaxStart 问题

javascript - 当我从另一个列表中选择时,选项列表未加载

php - 在没有 Composer 的情况下使用 klein.php?

php从下拉列表中插入查询枚举作为字符串

javascript - 当我选择完成的下拉选项时,必须填写评论字段

php - 易2 : Unable to create a relation with a condition about the related table

javascript - 如何更新幻灯片数量(猫头鹰轮播)