2014-07-20 11 views
7

Próbuję zbudować moje obrazy do przesyłania plików z mojej strony i chciałem użyć programu blueimp/jQuery-File-Upload zamiast szyfrować wszystko od zera. Jednak jestem też nowy, czy możesz mi powiedzieć, Jak zintegrować tę wtyczkę z moją strukturą Laravel?blueimp/jQuery-File-Upload z Laravel Jak zintegrować?

Gdzie umieszczam wszystkie pliki? W folderze dostawców? Czy powinienem podzielić wszystkie foldery i umieścić ich folder js w mojej kopalni etc ???

Jeśli znasz samouczek, to jest jeszcze lepiej ... Nie można znaleźć nic dobrego w google.

Dzięki

+0

Twoje pytanie jest zbyt szerokie, spróbuj podać swoje problemy. – delmadord

+0

Ok przeformułowany koniec, aby spróbować uczynić jest bardziej zrozumiały :) – commandantp

+0

Możesz umieścić pliki js i css w folderze publicznym/folderze lub użyć menedżera takiego jak Bower, aby zrobić to za Ciebie. – delmadord

Odpowiedz

7

Wypróbuj ten kod jestem delegowania, aby pomóc innym.

Pierwszym krokiem jest określenie strony przesyłania i przesłać obsługi Route s, podobnie jak to:

Route::get('image_', function() { 
    return View::make('image.upload-form'); 
}); 

Route::post('image_updade', '[email protected]'); 

Dokonaj image.upload-form widok czegoś takiego (używam prostego kodu HTML, a nie Blade szablon):

<?php echo Form::open(array('url' => 'image_updade', 'files' => true, 'id' => 'myForm')) ?> 
    Name: <input type='file' name='image' id='myFile'/> 
    <br/> 
    Comment: <textarea name='comment'></textarea> 
    <br/> 
    <input type='submit' value='Submit Comment' /> 
<?php echo Form::close() ?> 

teraz trzeba dodać pliki JavaScript w danej strony widok na <HEAD> tagu:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js'></script> 
<script src='http://malsup.github.com/jquery.form.js'></script> 

<script> 
    // Wait for the DOM to be loaded 
    $(document).ready(function() { 

     // Bind 'myForm' and provide a simple callback function 
     $('#myForm').ajaxForm(function() { 
      alert('Thank you for your comment!'); 
     }); 

     $('#myFile').change(function() { 
      $('#myForm').submit(); 
     }); 
    }); 
</script> 

Wreszcie, oto prosty przykład kodu dla kontroler [email protected] dostać przesłanego pliku i przenieść go do folderu docelowego:

<?php 

    class ImageController extends BaseController { 

     public function getUploadForm() { 
      return View::make('image/upload-form'); 
     } 

     public function postUpload() { 

      $file = Input::file('image'); 
      $input = array('image' => $file); 
      $rules = array('image' => 'image'); 
      $validator = Validator::make($input, $rules); 

      if ($validator->fails()){ 
       return Response::json(['success' => false, 'errors' => $validator->getMessageBag()->toArray()]); 
      } 
      else { 
       $destinationPath = 'files/'; 
       $filename = $file->getClientOriginalName(); 
       Input::file('image')->move($destinationPath, $filename); 
       return Response::json(['success' => true, 'file' => asset($destinationPath.$filename)]); 
      } 
     } 
    } 
+0

Gdzie w formularzu jest csrf_token? –