2016-06-30 5 views
1

In Laravel mache ich eine Anwendung, die eine Datei hochlädt und der Benutzer kann diese Datei herunterladen.FileNotFoundException in Laravel

Aber jedes Mal, wenn ich auf den Upload klicken, bekomme ich diesen Fehler.

FileNotFoundException in File.php line 37: The file 
"H:\wamp64\tmp\phpF040.tmp" does not exist 

meiner Ansicht Code ist dies:

@extends('layouts.app') 
@section('content') 
@inject('Kala','App\Kala') 

<div class="container"> 
    <div class="row"> 
@include('common.errors') 
     <form action="/addkala" method="post" enctype="multipart/form-data"> 
       <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
     <input type="text" name="name"> 
      <input type="text" name="details"> 
      <input type="file" name="photo" id="photo" > 
     <button type="submit">submit</button> 
     </form> 

    </div> 
</div> 

@endsection 

und mein Controller

public function addkalapost(Request $request) 
{ 


    $rules = [ 
    'name' => 'required|max:255', 
    'details' => 'required', 
    'photo' => 'max:1024', 
]; 
$v = Validator::make($request->all(), $rules); 
if($v->fails()){ 

    return redirect()->back()->withErrors($v->errors())->withInput($request->except('photo')); 

} else { 


    $file = $request->file('photo'); 

     $fileName = time().'_'.$request->name; 
     $destinationPath = public_path().'/uploads'; 

     $file->move($destinationPath, $fileName); 

    $kala=new Kala; 

     $kala->name=$request->name; 
      return 1;  
    $kala->details=$request->details; 

    $kala->pic_name=$fileName; 

     $kala->save(); 

     return redirect()->back()->with('message', 'The post successfully inserted.'); 

} 



} 

und i die Größe Upload max in php.ini zu 1000M ändern. plz help im verwirrenden

+0

Haben Sie überprüft, dass die hochgeladene Datei '-> Gültig 'war – RiggsFolly

+0

$ fileName = time() .'_'. $ Request-> name; Ändern Sie dies in $ fileName = time(). '_'. $ Request-> file ('photo'); –

Antwort

0

Ich werde empfehlen Sie Dateisysteme für die standardmäßig mit der Ordner-Speicher/app Sie müssen von dort Datei zu erhalten, wenn die Dateien woanders liegt, können Sie Ihre eigene Platte in Config machen/Dateisysteme z 'myDisk' => [ 'driver' => 'local', 'root' =>base_path('xyzFolder'), ],

und man kann es nennen wie

use Illuminate\Support\Facades\Storage; 

$data = Storage::disk('myDisk')->get('myFile.txt'); 

dies offensichtlich Datei zu erhalten ist, und Sie können durch folgende Laravel docs andere Funktion ausführen.

Verwandte Themen