Home >php教程 >php手册 >How to use Redactor image upload in laravel 4?

How to use Redactor image upload in laravel 4?

WBOY
WBOYOriginal
2016-06-06 20:09:451029browse

FROM?http://stackoverflow.com/questions/16736196/how-to-use-redactor-image-upload-in-laravel-4 I am trying to use Redactor with Laravel4. I can succesfully edit my textarea but I cant get to work with image uploads. When I try to upload a

FROM?http://stackoverflow.com/questions/16736196/how-to-use-redactor-image-upload-in-laravel-4

I am trying to use Redactor with Laravel4. I can succesfully edit my textarea but I cant get to work with image uploads. When I try to upload a file I get 500 error and In developer tools , I can see

Request URL:http://projemiz.dev/admin/blogs/3/postimage/3

This is my link for redactor photo upload:

$('#editor').redactor({ imageUpload: "postimage/{{$post->id}}"});

My routes are inside prefixes :

# Blog Management
Route::group(array('prefix' => 'blogs'), function()
{
    Route::get('/', array('as' => 'blogs', 'uses' => 'Controllers\Admin\BlogsController@getIndex'));
    Route::get('create', array('as' => 'create/blog', 'uses' => 'Controllers\Admin\BlogsController@getCreate'));
    Route::post('create', 'Controllers\Admin\BlogsController@postCreate');
    Route::get('{blogId}/edit', array('as' => 'update/blog', 'uses' => 'Controllers\Admin\BlogsController@getEdit'));
    Route::post('{blogId}/edit', 'Controllers\Admin\BlogsController@postEdit');
    Route::post('{blogId}/postimage','Controllers\Admin\BlogsController@postImage');
    Route::get('{blogId}/delete', array('as' => 'delete/blog', 'uses' => 'Controllers\Admin\BlogsController@getDelete'));
});

and my controller is :

public function postImage($blogId) {
    $path = base_path().'/public/uploads/img/posts/' . (int)$blogId;
    $image = Input::file('photo');
    if (Input::hasFile('photo'))
    {
    $fileName = $file->getClientOriginalName();
    $image->move($path,$fileName);
        $image = new Image;
        $image->name = $fileName.name;
        $image->save();
        // resizing an uploaded file
        Image::make($image->getRealPath())->resize(300, 200)->save($path.'thumb-'.$fileName);
        Image::make($image->getRealPath())->resize(300, 200)->save($path.'thumb-'.$fileName);
        //File::delete( $path . '/' . Input::file('file.name'));*/
    }
}

Can anyone help me to fix my link inside redactor?

Try changing your js-script this:

$('#editor').redactor({ imageUpload: "/{{$post->id}}/postimage"});

In the upload function return the path of the image after upload

public function postImage($blogId) 
{
    $path = base_path().'/public/uploads/img/posts/' . (int)$blogId;
    $image = Input::file('photo');
    if (Input::hasFile('photo'))
    {
        $fileName = $file->getClientOriginalName();
        $image->move($path,$fileName);
        $image = new Image;
        $image->name = $fileName.name;
        $image->save();
        // resizing an uploaded file
        Image::make($image->getRealPath())->resize(300, 200)->save($path.'thumb-'.$fileName);
        Image::make($image->getRealPath())->resize(300, 200)->save($path.'thumb-'.$fileName);
        // Return Image path as JSON
       if ($file->move($path, $fileName))
       {
           return Response::json(array('filelink' => $path . '/' . $fileName));
       }
    }
}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn