ajibadedapo/laravel-tinymce-simple-imageupload

为Laravel中的TinyMCE提供简单的图片上传功能。

1.1.0 2016-11-01 08:52 UTC

This package is not auto-updated.

Last update: 2024-09-23 16:32:59 UTC


README

Laravel中TinyMCE的简单图片上传。

为什么制作这个?

因为,我使用TinyMCE,基本上,在编辑内容时很难理解如何直接将图片上传到编辑器。有许多TinyMCE图片上传器,但它们的功能过于复杂,我只需要一个核心用例,选择图片进行上传

就这样,所以我为我的项目创建了这个包以供重用。好吧,如果你想,你也可以使用它。

此包与Laravel 5.0+兼容。

安装

$ composer require "petehouston/laravel-tinymce-simple-imageupload"

您需要在 config/app.php 中注册

    'providers' => [
        ...

        Petehouston\Tinymce\TinymceServiceProvider::class,

    ]

用法

在包含TinyMCE设置的视图中,您需要在底部包含上传视图,添加以下行,

@include('mceImageUpload::upload_form')

别担心,这个表单在您的视图中是隐藏的,没有人会看到它,因为它设置为 display: none

下一步是向 tinymce 对象添加此配置,

    tinymce.init({
        // .. your config here
        relative_urls: false,
        file_browser_callback: function(field_name, url, type, win) {
            // trigger file upload form
            if (type == 'image') $('#formUpload input').click();
        }
    });

这就完成了,现在您应该在编写内容时能够直接将图片上传到编辑器。

如果您需要在 resources/views 目录中自定义,可以发布视图。

$ php artisan vendor:publish --provider=Petehouston\Tinymce\TinymceServiceProvider

尝试示例

包中有一个设置示例,您可以通过添加一个示例路由来在您的项目中尝试,

Route::get('/tinymce_example', function () {
    return view('mceImageUpload::example');
});

一些说明

图片上传处理程序

我已经设置了一个控制器 Petehouston\Tinymce\TinymceController,它实现了一个用于图片上传的方法。

如您所见,所有上传的图片将存储在 public/img 目录中,名称是一个连接的哈希值,

$filename = 'image_'.time().'_'.$image->hashName();

处理图片上传的默认路由是 /tinymce/simple-image-upload

自定义上传URL和控制器

如果您不想使用包的预配置,请自定义您的。

在包含上传表单时,传入处理POST图片上传的URL

@include('mceImageUpload::upload_form', ['upload_url' => 'YOUR_URL_FOR_HANDLING_IMAGE_UPLOAD'])

添加一个处理图片上传的方法,该方法应该返回与Petehouston\Tinymce\TinymceController中相同的结果。