blueimp/jQuery-File-Upload with Laravel如何集成



尝试构建我的上传图像的一部分,我的网站,并希望使用blueimp/jQuery-File-Upload,而不是硬编码一切从零开始。然而,我是新的太,你能告诉我如何集成插件与我的Laravel结构吗?

我把所有的文件放在哪里?在供应商文件夹?或者我应该把所有的文件夹分开,把他们的js文件夹放在我的文件夹里等等??

如果你知道教程,那就更好了…用谷歌找不到好东西

谢谢

你可以试试我发布的这个代码来帮助别人。

第一步是定义上传页面和上传处理Route s,如下所示:

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

使您的image.upload-form视图像这样(我使用简单的HTML,而不是Blade模板):

<?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() ?>

现在您需要在视图页面的<HEAD>标签中添加JavaScript文件:

<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> 
最后,这里是ImageController@postUpload控制器获取上传文件并将其移动到目标文件夹的简单代码示例:
<?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)]);
            }
        }
    }

最新更新