微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OctoberCMS:检测是否上传了新图像

如何解决OctoberCMS:检测是否上传了新图像

如何检测新图像是否已从后端表单上传到图库,以便在保存之前可以进行操作。

我已经尝试了以下方法,但是没有用:

<?PHP namespace Author\Plugin\Models;

use Model;

class ModelName extends Model
{
    public $attachMany = [
        'gallery' => 'System\Models\File',];

    public function beforeSave()
    {
        if (Input::hasFile('gallery')) {
            trace_log('new files');
        } else {
            trace_log('no new files');
        }
    }
}

-不管我是否上传文件,它始终不给我没有新文件的消息。

解决方法

您可以使用此代码来调整模型图像的大小

使用不同的绑定方式有点棘手。

您可以在插件的plugin.php's boot method

中使用此代码
use October\Rain\Database\Attach\Resizer;
// .. other code ...

public function boot() {

  \Hardik\SoTest\Models\Item::extend(function($model) {
    // for create time only
      $model->bindEvent('model.beforeCreate',function() use ($model) {

        $records = \October\Rain\Database\Models\DeferredBinding::where([
          'master_type' => 'Hardik\SoTest\Models\Item',// <- REPLACE WITH YOUR MODEL(ModelName)
          "master_field" => "picture",// <- REPLACE WITH ATTACHEMNT MODEL (gallery)
          "slave_type" => "System\Models\File","session_key" => post('_session_key')
        ])->get();

        foreach($records as $record) {
          $fileRecord = \System\Models\File::find($record->slave_id);

          // code to resize image
          $width = 100;
          $height = 100;
          $options = []; // or ['mode' => 'crop']

          // just in place resize image
          Resizer::open($fileRecord->getLocalPath()) // create from real path
                    ->resize($width,$height,$options)
                    ->save($fileRecord->getLocalPath());
        }
      });
  });      
}

如有疑问,请发表评论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?