Я хочу поместить текущий процесс загрузки файла в очередь. Когда загрузка файла завершится, пользователю будет отправлено электронное письмо о завершении процесса загрузки. Эта идея была реализована, поскольку будут загружаться большие наборы файлов, и мы хотели бы, чтобы пользователь переходил к другим частям системы во время процесса загрузки.
Что происходит прямо сейчас!
В настоящее время я перебираю все файлы, которые предназначены для загрузки (в моем контроллере), и создание массива загруженных файлов. Я делаю это потому, что Laravel не позволяет мне отправлять модели в очередь. Вот код
Код: Выделить всё
if (Input::hasFile('files')) {
$filesarr = Input::file('files');
foreach($filesarr as $fileitem)
{
array_push($filesArray, array(
'realpath'=>$fileitem->getRealPath(),
'originalname' => $fileitem->getClientOriginalName(),
'originalextension'=>$fileitem->getClientOriginalExtension(),
'mime' =>$fileitem->getClientMimeType(),
'size' =>$fileitem->getClientSize(),
'maxFileSizeAllowed' => $fileitem ->getMaxFileSize(),
'isUpdateMode' => 1,
'orealPath' => $fileitem->getOriginalPath()
));
}
}
Код: Выделить всё
Queue::push('TopicQueue', array ('dataArr' =>$filesArray));
Код: Выделить всё
$files = $dataArray['$filesArray'];
Код: Выделить всё
foreach($allFiles as $file)
{
Log::info("File is :" .var_export($file,true));
Log::info('Going to upload file : '.$file['originalname']);
try
{
$uploadFile = new UploadedFile($file['realpath'],$file['originalname'],$file['mime'],$file['size']);
}
catch(Exception $ex)
{
Log::info('The error is : '.$ex->getMessage());
}
}
Файл не существует.
Это происходит внутри конструктора самого класса uploadfile.
Я также пытался сериализовать и десериализовать класс, но, видимо, UploadFile не сериализуем.
Кто-нибудь хочет помочь, пожалуйста!
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/236 ... to-a-queue
Мобильная версия