国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

CKEditor與dotnetcore實現圖片上傳功能

2024-07-10 12:54:26
字體:
來源:轉載
供稿:網友

Ckeditor的工作方式類似于網頁中的文本區域,它可以提供簡單易寫的用戶界面,下面就跟著錯新技術頻道小編的步伐來了解CKEditor與dotnetcore實現圖片上傳功能吧!

CKEditor的使用

1.引入js庫

<script src="https://cdn.ckeditor.com/4.6.1/standard-all/ckeditor.js"></script> 

2.定義一個textarea標簽

<textarea id="editor"> </textarea> 

3.用CkEditor替換textarea即可使用基本功能

CKEDITOR.replace('editor'); 

4.配置CkEditor

添加圖片上傳,代碼插入工具

CKEDITOR.replace('editor-box', {   //GitHub地址:https://github.com/ckeditor      toolbar: [    { name: 'document', items: ['Source'] },    { name: 'basicstyles', items: ['Bold', 'Italic'] },    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote'] },    { name: 'links', items: ['Link', 'Unlink'] },    { name: 'insert', items: ['Image','CodeSnippet'] },    { name: 'styles', items: ['Format', 'Styles'] }   ],   filebrowserImageUploadUrl: '/Blogs/UploadImageUrl', //配置圖片上傳后臺Url      customConfig: '',      extraPlugins: 'codesnippet,image2,uploadimage',      removePlugins: 'image',      //mathJaxLib: 'https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config=TeX-AMS_HTML',     codeSnippet_theme: 'ir_black',   height: 450,      contentsCss: ['https://cdn.ckeditor.com/4.6.1/standard-all/contents.css'],      format_tags: 'p;h1;h2;h3;pre',      removeDialogTabs: 'image:advanced;link:advanced;link:target',     stylesSet: [    /* Inline Styles */    { name: 'Marker', element: 'span', attributes: { 'class': 'marker' } },    { name: 'Cited Work', element: 'cite' },    { name: 'Inline Quotation', element: 'q' },    /* Object Styles */    {     name: 'Special Container',     element: 'div',     styles: {      padding: '5px 10px',      background: '#eee',      border: '1px solid #ccc'     }    },    {     name: 'Compact table',     element: 'table',     attributes: {      cellpadding: '5',      cellspacing: '0',      border: '1',      bordercolor: '#ccc'     },     styles: {      'border-collapse': 'collapse'     }    },    { name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } },    { name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } },    /* Widget Styles */    { name: 'Illustration', type: 'widget', widget: 'image', attributes: { 'class': 'image-illustration' } },    { name: 'Featured snippet', type: 'widget', widget: 'codeSnippet', attributes: { 'class': 'code-featured' } },    { name: 'Featured formula', type: 'widget', widget: 'mathjax', attributes: { 'class': 'math-featured' } }   ]  });

5.后臺接收圖片

?

/// <summary>  /// 圖片上傳  /// </summary>  /// <param name="env"></param>  /// <returns></returns>  public async Task<IActionResult> UploadImageUrl([FromServices]IHostingEnvironment env)  {   // CKEditor提交的很重要的一個參數    string callback = Request.Query["CKEditorFuncNum"];   var form = Request.Form;   var img = form.Files[0]; //獲取圖片   string fileName = img.FileName;   var openReadStream = img.OpenReadStream();   byte[] buff = new byte[openReadStream.Length];   await openReadStream.ReadAsync(buff, 0, buff.Length);   string filenameGuid = Guid.NewGuid().ToString();   var bowerPath = PathUtils.GetSavePath(filenameGuid, true) + ".jpg";//獲取到圖片保存的路徑,這邊根據自己的實現   var savePath = Path.Combine(env.WebRootPath, bowerPath);   using (FileStream fs = new FileStream(savePath, FileMode.Create))   {    await fs.WriteAsync(buff, 0, buff.Length);    //服務器返回JavaScript腳本    string result = $"<script type=/"text/javascript/">window.parent.CKEDITOR.tools.callFunction(/"{callback}/", /"{"/"+bowerPath}/", /"/");</script>";    Response.ContentType = "text/html;charset=UTF-8";    return Content(result);   }  } 

6.注意

服務器返回需要加上這個,否則會遇到前端頁面不執行返回的JavaScript腳本的問題

Response.ContentType = "text/html;charset=UTF-8";

配置完成即可使用圖片上傳功能

上文是錯新技術頻道小編為大家帶來的CKEditor與dotnetcore實現圖片上傳功能,大家可以詳細預覽一下,感興趣的朋友可以收藏js.VeVb.com。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中方县| 泽普县| 开鲁县| 天津市| 日喀则市| 萝北县| 抚宁县| 云安县| 乳山市| 淳安县| 江油市| 城市| 海阳市| 正宁县| 来安县| 曲沃县| 双鸭山市| 余干县| 新龙县| 额尔古纳市| 汝城县| 怀集县| 恩平市| 汝州市| 石狮市| 静宁县| 佛坪县| 龙门县| 安乡县| 岑溪市| 左权县| 亚东县| 卢湾区| 讷河市| 仁寿县| 哈尔滨市| 皋兰县| 彭泽县| 离岛区| 商丘市| 白银市|