Laravel “Téléchargement de Fichier d'Erreur Appel à une fonction membre getClientOriginalName() sur un non-objet”
tous. Je suis en train d'apprendre Laravel et je suis en train de travailler sur l'upload d'une image. J'obtiens l'erreur suivante:
"Appel à une fonction membre getClientOriginalName() sur un non-objet"
Je suis à l'aide de ces paquets:
"anahkiasen/former": "dev-master",
"intervention/image": "dev-master",
"intervention/imagecache": "2.*"
Après l'utilisation, j'ai vérifié la suivante ne contribuent PAS à l'erreur ci-dessus:
- multipart/form-data sur le formulaire
- Télécharger le fichier de données existe
- Le PHP.ini max_filesize est plus grande que la taille de ce petit fichier de test
Mon formulaire est:
<form enctype="multipart/form-data" accept-charset="utf-8" class="form-horizontal" id="create_form" method="POST" action="/elements">
<div class="control-group"><label for="img[]" class="control-label">Upload Image</label><div class="controls"><input multiple="true" class="myclass" accept="image/gif|image/jpeg|image/png" id="img[]" type="file" name="img[]"></div></div>
<div class="form-actions"><input class="btn-large btn-primary btn" type="submit" value="Submit"> <input class="btn-large btn-inverse btn" type="reset" value="Reset"></div>
<input type="hidden" name="_token" value="B0AJ0Y5LMrMng6CsePeZfNSvRQ0KexowOGTK99Gm">
</form>
Le code pour générer l'erreur est:
$image = Input::file('img');
$filename = $image->getClientOriginalName();
print_($filename);
Si j'ai l'impression de l'objet à l'aide de:
print_r($image);
...puis-je obtenir:
Array
(
[0] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => storageunit.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 8734
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /tmp/php9AU1OE
[fileName:SplFileInfo:private] => php9AU1OE
)
)
Tout ce qui semble correct pour moi, donc je suis perplexe.
Si quelqu'un a des idées de ce à essayer ensuite, je vous serais reconnaissant de l'aide.
Votre message d'erreur est assez clair, n'est-ce pas?
$image = Input::file('img');
n'est pas le retour que vous pensez qu'il est.
OriginalL'auteur shamelesshacker | 2014-12-12
Vous devez vous connecter pour publier un commentaire.
Oeil à ce qui est imprimé.
$image
est un tableau d'objets, pas un objet. Essayez:OriginalL'auteur Madbreaks
Doh!
"fichier" et non pas "fichiers"
OriginalL'auteur shamelesshacker
Pour moi le seul problème était le fichier de la classe qui l'Upload de Fichier entité nécessite manquait.
J'ai ajouté ce code et cela a fonctionné,
utilisation Éclairer\Http\UploadedFile;
OriginalL'auteur mangesh zanke