【问题标题】:How to use Redactor image upload in laravel 4?如何在 laravel 4 中使用 Redactor 图片上传?
【发布时间】:2013-05-24 13:31:05
【问题描述】:

我正在尝试将 Redactor 与 Laravel4 一起使用。我可以成功编辑我的文本区域,但我无法处理图像上传。当我尝试上传文件时出现 500 错误,在开发人员工具中,我可以看到

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

这是我的编辑照片上传链接:

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

我的路线在前缀内:

# 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'));
});

我的控制器是:

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'));*/
    }

}

谁能帮我修复我在 redactor 中的链接?

【问题讨论】:

  • 你的网络服务器日志告诉你什么?
  • 在 access_logs 我可以找到 127.0.0.1 - - [24/May/2013:17:08:19 +0300] "POST /admin/blogs/3/postimage/3 HTTP/1.1" 500 37974 ... error_logs 中没有错误。

标签: laravel laravel-4 redactor


【解决方案1】:

尝试更改您的 js 脚本:

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

在上传函数中返回上传后图片的路径

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));
       }
    }
}

【讨论】:

  • 我使用了你的控制器。但链接没有向我发送正确的地址
  • 上面的代码sn-p是一个函数而不是一个控制器。你是说 Json Response 还是 Redactor imageUpload url 坏了?错误是什么?
  • 这是我的控制器动作之一,我只是忘记写了。我猜编者 imageupload 有问题。还在努力解决。
猜你喜欢
  • 2014-05-11
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 2015-03-13
  • 2019-05-30
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多