sftpbrowser/src/Service/UploadListener.php

47 lines
1.2 KiB
PHP

<?php
namespace App\Service;
use Oneup\UploaderBundle\Event\PostPersistEvent;
use Ramsey\Uuid\Uuid;
use Psr\Log\LoggerInterface;
class UploadListener
{
private $sftp;
private $log;
public function __construct(SftpService $sftp, LoggerInterface $log)
{
$this->sftp = $sftp;
$this->log = $log;
}
public function onUpload(PostPersistEvent $event)
{
$type = $event->getType();
switch ($type) {
case 'sftp':
$this->log->debug("IN UPLOAD SFTP");
$request = $event->getRequest();
$folder = $request->get('folder');
$this->log->debug("Folder = ".$folder);
$file = $event->getFile();
$filename = $file->getFilename();
$this->log->debug("File = ".$file);
$response = $event->getResponse();
$response['file'] =$folder.'/'.$filename;
$response['filename'] = $filename;
$this->sftp->connect();
$return=$this->sftp->uploadFile($file, $folder);
if(!$return) throw new \Exception("Upload error");
break;
}
}
}