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)]);
}
}
}
Twoje pytanie jest zbyt szerokie, spróbuj podać swoje problemy. – delmadord
Ok przeformułowany koniec, aby spróbować uczynić jest bardziej zrozumiały :) – commandantp
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