1. 程式人生 > >lavavel-admin 富文字圖片上傳

lavavel-admin 富文字圖片上傳

3.1其他跟laravel-admin文件 配置差不多

3.2 然後新建元件類app/Admin/Extensions/WangEditor.php
關於WangEditor設定部分請閱讀官方文件

class WangEditor extends Field
{
    protected $view = 'admin.wang-editor';

    protected static $css = [
        '/vendor/wangEditor-3.0.10/release/wangEditor.css',
    ];

    protected static $js = [
        '/vendor/wangEditor-3.0.10/release/wangEditor.min.js',
    ];

    public function render()
    {
        $name = $this->formatName($this->column);

        $this->script = <<<EOT

var E = window.wangEditor
var editor = new E('#{$this->id}');
editor.customConfig.uploadFileName = 'my_image[]';
editor.customConfig.uploadImgHeaders = {
    'X-CSRF-TOKEN': $('input[name="_token"]').val()
}
editor.customConfig.zIndex = 0;
// 上傳路徑
editor.customConfig.uploadImgServer = '/uploadFile';
editor.customConfig.onchange = function (html) {
    $('input[name=$name]').val(html);
}
editor.customConfig.uploadImgHooks = {
    customInsert: function (insertImg, result, editor) {
        if (typeof(result.length) != "undefined") {
            for (var i = 0; i <= result.length - 1; i++) {
                var j = i;
                var url = result[i].newFileName;
                insertImg(url);
            }
            toastr.success(result[j]['info']);
        }
       
        switch (result['ResultData']) {
            case 6:
                toastr.error("最多可以上傳4張圖片");
                break;
            case 5:
                toastr.error("請選擇一個檔案");
                break;
            case 4:
                toastr.error("上傳失敗");
                break;
            case 3:
                toastr.error(result['info']);
                break;
            case 2:
                toastr.error("檔案型別不合法");
                break;
            case 1:
                toastr.error(result['info']);
                break;
        }
    }
}
editor.create();

// var editor = new wangEditor('{$this->id}');
//     editor.create();

EOT;
        return parent::render();

    }
}

3.3 完成WangEditor圖片上傳

3.3.1 建立上傳路由routes/web.php

Route::post('/uploadFile', '[email protected]');

3.3.2 建立上傳檔案控制器UploadsController

php artisan make:controller UploadsController
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadsController extends Controller
{
    public function uploadImg(Request $request)
    {
        $file = $request->file("mypic");
        // dd($file);
        if (!empty($file)) {
            foreach ($file as $key => $value) {
                $len = $key;
            }
            if ($len > 25) {
                return response()->json(['ResultData' => 6, 'info' => '最多可以上傳25張圖片']);
            }
            $m = 0;
            $k = 0;
            for ($i = 0; $i <= $len; $i++) {
                // $n 表示第幾張圖片
                $n = $i + 1;
                if ($file[$i]->isValid()) {
                    if (in_array(strtolower($file[$i]->extension()), ['jpeg', 'jpg', 'gif', 'gpeg', 'png'])) {
                        $picname = $file[$i]->getClientOriginalName();//獲取上傳原檔名
                        $ext = $file[$i]->getClientOriginalExtension();//獲取上傳檔案的字尾名
                        // 重新命名
                        $filename = time() . str_random(6) . "." . $ext;
                        if ($file[$i]->move("uploads/images", $filename)) {
                            $newFileName = '/' . "uploads/images" . '/' . $filename;
                            $m = $m + 1;
                            // return response()->json(['ResultData' => 0, 'info' => '上傳成功', 'newFileName' => $newFileName ]);

                        } else {
                            $k = $k + 1;
                            // return response()->json(['ResultData' => 4, 'info' => '上傳失敗']);
                        }
                        $msg = $m . "張圖片上傳成功 " . $k . "張圖片上傳失敗<br>";
                        $return[] = ['ResultData' => 0, 'info' => $msg, 'newFileName' => $newFileName];
                    } else {
                        return response()->json(['ResultData' => 3, 'info' => '第' . $n . '張圖片字尾名不合法!<br/>' . '只支援jpeg/jpg/png/gif格式']);
                    }
                } else {
                    return response()->json(['ResultData' => 1, 'info' => '第' . $n . '張圖片超過最大限制!<br/>' . '圖片最大支援2M']);
                }
            }

        } else {
            return response()->json(['ResultData' => 5, 'info' => '請選擇檔案']);
        }
        return $return;
    }
}

//-------------------------------------------以上是圖片上傳到本地的,下面才是上傳到七牛雲的-------------------------

public function uploadImg(Request $request)
{
    $file = $request->file("my_image");
    if (!empty($file)) {
        foreach ($file as $key => $value) {
            $len = $key;
        }
        if ($len > 25) {
            return response()->json(['ResultData' => 6, 'info' => '最多可以上傳25張圖片']);
        }
        $m = 0;
        $k = 0;
        for ($i = 0; $i <= $len; $i++) {
            // $n 表示第幾張圖片
            $n = $i + 1;
            if ($file[$i]->isValid()) {
                if (in_array(strtolower($file[$i]->extension()), ['jpeg', 'jpg', 'gif', 'gpeg', 'png'])) {
                    $disk = Storage::disk('qiniu');
                    $time = 'images/'.date('Ymd');
                    $filename = $disk->put($time,$file[$i]);
                    if ($filename) {
                        $img_url = $disk->getDriver()->downloadUrl($filename);
                        $m = $m + 1;
                    } else {
                        $k = $k + 1;
                    }
                    $msg = $m . "張圖片上傳成功 " . $k . "張圖片上傳失敗<br>";
                    $return[] = ['ResultData' => 0, 'info' => $msg, 'newFileName' => $img_url];
                } else {
                    return response()->json(['ResultData' => 3, 'info' => '第' . $n . '張圖片字尾名不合法!<br/>' . '只支援jpeg/jpg/png/gif格式']);
                }
            } else {
                return response()->json(['ResultData' => 1, 'info' => '第' . $n . '張圖片超過最大限制!<br/>' . '圖片最大支援2M']);
            }
        }

    } else {
        return response()->json(['ResultData' => 5, 'info' => '請選擇檔案']);
    }
    return $return;
}

相關推薦

lavaveladmin 文字圖片

3.1其他跟laravel-admin文件 配置差不多 3.2 然後新建元件類app/Admin/Extensions/WangEditor.php。 關於WangEditor設定部分請閱讀官方文件 class WangEditor extends Field {

layui 文字 圖片 後端PHP介面

layui 富文字 圖片上傳 後端PHP介面 html <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="/static/layui/

Django文字圖片------22

檔案上傳表單格式(views.py)表單樣式 HTML富文字檔案上傳(views.py)HTML裡面程式碼來自ueditor檔案,找尋需要的一些js檔案跳轉頁面中的樣式清除:然後在url.py裡配置路徑富文字中檔案上傳需要配置相應的配置:現在ueditor檔案裡找到confi

layui 文字圖片介面與普通按鈕 檔案介面

富文字-圖片上傳html:<div class="layui-form-item layui-form-text"> <div class="layui-input-bloc

文字編輯圖片進行處理

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ini

wangEditor文字編輯圖片

     最近需要用到富文字編輯器,開始百度,哈哈,滿滿的都是百度的UEditor這個編輯器,腦子一抽就選擇了這個大坑,但是後面需要用到改原始碼的操作,本人不是專業前端,因此放棄了這個大坑,後來去github上查詢,發現了wangEditor這個編輯器,感覺還是比較

tp5.0使用百度文字Ueditor圖文,開發環境 Lamp

百度富文字上傳圖片和文字非常方便,而且使後臺文字域變得相對豐富和美觀,話不多說,讓我們進入百度富文字的學習,純乾貨又簡單。 1、下載ueditor 點選進入官網下載 下載後重命名為ueditor放置在我們的tp5目錄中,我放在了public/static/admin/ueditor。 2、前

SpringMVC + ueditor + 七牛 實現文字檔案功能

1.下載ueditor開發包(原始碼以及JSP版本UTF-8版),並匯入專案中,也可以匯入jar包。 2.pom 新增相關依賴 3.解壓並將原始碼拷貝到專案中:  解壓後原始碼如下圖: 拷貝至專案中: 4. 匯入控制元件 5.修改配置檔案 此方法對應後臺方

郵箱正則表示式 和諧文字 圖片重新命名

################################################################################################ public class IntegerDemo2 { /**  * 求取整型

wangEditor文字編輯器使用及圖片

<script type="text/javascript" src="style/js/wangEditor.min.js"></script> <div id="editor"> </div> 建立富文字編輯器 var E = wi

laravel文字編輯和圖片

---恢復內容開始--- 首先先找到一個適合的編輯器是勝利的一步,選擇wangEditor這個編輯器 地址:http://www.wangeditor.com/ 然後選擇下載,我是通過網上學習的,所以直接選擇的是2.1.23下載   下載後,將dist中的js/css/fonts,放到

仿有贊後臺+vue+ts+vuecli3.0+elementUi+四期vueX的使用+圖片+文字編譯器

前言 今天把整個專案剩餘都講完,後面將會學習一下react,然後用react寫個後臺,然後淺談一下使用心得,以及學習技巧 當前專案demo預覽 游泳健身瞭解一下:githubJQ外掛 技術文件 技術文件會持續更新 內容總結 vueX的使用 //劃重點 圖片上傳(批量上傳)

文字編輯器圖片失敗的BUG解決:IndexError:list index out of range

富文字編輯器圖片上傳失敗的BUG解決 問題原因 我們將通過Django上傳的圖片儲存到了FastDFS中,而儲存在FastDFS中的檔名沒有後綴名(.png/.jpg/.jif),而ckeditor在處理上傳的檔名按照有後綴名來處理,所以會出現bug錯誤 解決方法 找到虛擬

關於文字編輯器—UEditor(java版)的使用,以及如何將UEditor的檔案/圖片路徑改成絕對路徑

突然發現好久沒寫部落格了,感覺變懶了,是要讓自己養成經常寫文章的習慣才行。既可以分享自己的所學,和所想,和大家一起討論,發現自己的不足的問題。 大家可能經常會用到富文字編輯器,今天我要說的是UEditor的使用,這是一個簡單易用的開源富文字編輯器。但是對於沒有用過的同學而言還是需要稍微瞭解一下的。 可能有些人

淘淘商城第二天—完成商品新增功能 商品類目選擇 圖片 圖片伺服器搭建 kindEditor文字編輯器的使用 商品新增功能

1、實現商品類目選擇功能 1.1需求 在商品新增頁面,點選“選擇類目”顯示商品類目列表: 請求初始化樹形控制元件的url:/item/cat/list 1.2 EasyUI tree資料結構 資料結構中必須包含: Id:節點id Text:節

wangEditor+SringBoot文字編輯器使用(圖片

最近專案中使用到了wangEditor外掛,在此記錄使用過程。 思路:點選外掛中上傳圖片,圖片上傳至伺服器臨時圖片資料夾下,當最後點選確認儲存按鈕時,再把臨時資料夾下的圖片複製到正式的資料夾下面。 在HTML中引入wangEditor.js: <!--引入

【Vue】quill-editor文字編輯器元件的運用與修改配置使圖片到伺服器

前言:Vue的生態已經越來越繁榮,越來越多有趣好用的元件加入的生態中了。quill-editor富文字編輯器就是很好用的元件之一。 一、quill-editor的安裝與使用 ①、安裝 npm install vue-quill-editor --save ②、

圖片功能(FastDFS圖片伺服器 kindEditor文字編輯器)

第一步 : 新增jar包                     Commons-io、fileupload,兩個jar包 第二步:在springmvc.xml中配置多媒體解析器 &

ssm+maven專案中加入“百度文字編輯器”,實現圖片

1.在UEditor官方下載編輯器。2.解壓壓縮檔案到資料夾,因為預設的資料夾名字過長,建議重新命名一下資料夾名,我這裡命名為ueditor資料夾中對應的目錄為3.將整個資料夾copy到專案webapp目錄下,(我這裡用的是IDEA,不知道什麼原因直接往IDEA開啟的專案裡拷

適用於React的文字編輯器 -- react-umedito 圖片本地伺服器解決方案

react-umeditor,這是liuhong1happy同學將百度富文字編輯器用react封裝的一個元件。 安裝:npm install react-umeditor –save 使用:reac