2014-09-24 2 views
1

Когда я пытаюсь загрузить файл изображения на сервер, он случайным образом дает ошибку, и иногда он работает нормально, без проблем с тем же файлом.Неизвестная ошибка при загрузке файла с помощью laravel

Symfony \ Component \ HttpFoundation \ File \ Exception \ FileException 
The file "xxxxxx.jpg" was not uploaded due to an unknown error. 

Это мой код:

if (Input::hasFile('thumbnail_image')){ 
    // Upload Photo 
    $thumbnailImage = Input::file('thumbnail_image'); 
    $filename = 'thumbnail.'.Input::file('thumbnail_image')->getClientOriginalExtension(); 
    $destinationPath = 'training_product/article_id_'. $id .'/thumbnail_image'; 
    $databasePath = '/adidas/public/training_product/article_id_'. $id.'/thumbnail_image'; 
    $uploadFile = Input::file('thumbnail_image')->move($destinationPath, $filename); 
    $product->thumbnail_images_path = $databasePath.'/'.$filename; 
    $product->save(); 
} 
+1

В вашем файле журнала laravel содержится какая-либо полезная информация? –

+1

журнал laravel просто возвращает неизвестную ошибку в строке $ uploadFile = Input :: file ('thumbnail_image') -> move ($ destinationPath, $ filename); и я догадываюсь, что файл не загружался, но я не знаю, какой параметр неверен и почему иногда работает, а иногда и не работает –

+0

Что произойдет, если файл уже существует в целевом местоположении? – Gagan

ответ

0

Что ваше разрешение файл на папку? Попробуйте изменить его 777 (при условии, что вы используете сервер Linux:. sudo chmod -R 777 adidas/public/training_product

Я немного изменил свой код, и это работает для меня

`` `

if (Input::hasFile('thumbnail_image')){ 
     // Upload Photo 
     $product = new Product; 
     $thumbnailImage = Input::file('thumbnail_image'); 
     $ext = $thumbnailImage->guessExtension(); 
     $filename = 'thumbnail_'. time() . $ext; 
     $destinationPath = 'training_product/article_id_'. $id .'/thumbnail_image'; 
     $databasePath = '/adidas/public/training_product/article_id_'. $id.'/thumbnail_image/'; 
     $thumbnailImage->move($destinationPath, $filename); 
     $product->thumbnail_images_path = $databasePath . $filename; 
     $product->save(); 
    } 

` `. `

Я изменил getClientOriginalExtension() к guessExtension(), экземпляр нового $product, так как я не вижу, что вы делаете. также убедились, что разрешения папки позволит мне загружать файлы.

Надеюсь, что это поможет.

+0

Я изменил разрешение на 777, и владелец/группа верны. Я изменил код, который сделал. он получил ошибки в функции guess ($ path) FileNotFoundException Файл «/ var/www/html/tmp/php1wJ9ca» не существует –

Смежные вопросы