1、下载TinyMCE

https://www.tiny.cloud/get-tiny/self-hosted/

解压缩后放在网站wwwroot目录

2、下载中文语言包

https://www.tiny.cloud/get-tiny/language-packages/

解压缩后放在langs目录

3、添加Razor页面

  1. 指定images_upload_url参数,实现图片文件的上传功能。此路径指向的地址为步骤4中创建Controller
    指定language,语言使用中文简体。
  1. @page
  2. @model CourseAssistant.Pages.TinyMCE.IndexModel
  3. @{
  4. }
  5. <script src="~/js/tinymce/tinymce.min.js"></script>
  6. <script>
  7. tinymce.init({
  8. height: 550,
  9. menubar: false,
  10. language: 'zh_CN',
  11. selector: 'textarea',
  12. images_upload_url: '/TinyMCE/Upload',
  13. plugins: [
  14. 'advlist autolink lists link image imagetools charmap print preview anchor textcolor',
  15. 'searchreplace visualblocks code fullscreen ',
  16. 'insertdatetime media table contextmenu paste code help wordcount'
  17. ],
  18. toolbar: 'preview link code insertdatetime charmap | media image | undo redo | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
  19. });
  20. </script>
  21.  
  22. <textarea>
  23. </textarea>

4、添加UploadController.cs

  1. using Microsoft.AspNetCore.Mvc;
  2. using System.IO;
  3. using Microsoft.AspNetCore.Hosting;
  4.  
  5. namespace CourseAssistant.Pages.TinyMCE
  6. {
  7. [Route("TinyMCE/[controller]")]
  8. public class UploadController : Controller
  9. {
  10. IHostingEnvironment hostingEnvironment;
  11. public UploadController(IHostingEnvironment hostingEnvironment)
  12. {
  13. this.hostingEnvironment = hostingEnvironment;
  14. }
  15. [HttpPost]
  16. public string Post()
  17. {
  18. var files = Request.Form.Files;
  19. if (files.Count==0)
  20. {
  21. return "No File";
  22. }
  23. var file = files[0];
  24. var path = hostingEnvironment.WebRootPath;
  25. var UploadDir = "UploadFiles";
  26. var fulldir = Path.Combine(path, UploadDir);
  27. if (!Directory.Exists(fulldir)) Directory.CreateDirectory(fulldir);
  28. var filename = file.FileName;
  29. var fullpath = Path.Combine(path, UploadDir, filename);
  30. using (var fs=new FileStream(fullpath, FileMode.Create, FileAccess.Write))
  31. {
  32. file.CopyTo(fs);
  33. fs.Close();
  34. }
  35. var url = $"/{UploadDir}/{filename}";
  36. var fi = new fileinfo() { location = url };
  37. var s = fi.ToString();
  38. return s;
  39. }
  40. }
  41. public class fileinfo:JsonObject<fileinfo>
  42. {
  43. public string location { get; set; }
  44. }
  45. }

Asp.Net Core 网站使用TinyMCE实现上传图片的更多相关文章

  1. ASP.NET Core 网站发布到Linux服务器

    长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...

  2. ASP.NET Core 网站在Docker中运行

    Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...

  3. docker 初识之二(简单发布ASP.NET Core 网站)

    在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...

  4. ASP.NET Core 网站发布到Linux服务器(转)

    出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...

  5. ASP.NET CORE网站部署到 windows server 的IIS 上去

    章基于我自己经验的一个总结,在windows服务器上部署asp.net core网站.环境是 windows server 2012数据中心版本 第一步先安装 IIS 服务器 接下来就是一路下一步,然 ...

  6. .Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站

    前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程 ...

  7. CENTOS7.3 64位架设使用MYSQL数据库的ASP.NET CORE网站

    注:本人使用的是云服务器,具体CentOS怎么安装这里不作赘述. 网站架设效果可以查看https://www.resape.com 一.在CentOS上安装Dotnet Core环境 1.Add th ...

  8. asp.net.core网站重启后登陆无效问题(部署在IIS)

    一.问题 在使用asp.net.core时,把网站发布到IIS后,在后续更新中需要停止网站,然后重启网站,发现已经登陆的用户会退出登陆.过程如下 1.登陆代码(测试) [AllowAnonymous] ...

  9. 翻译 - ASP.NET Core 托管和部署 - 在 Linux 上使用 Nginx 托管 ASP.NET Core 网站

    翻译自 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-5.0 本文介 ...

  10. ASP.NET Core网站初探

    原文地址:https://blog.csdn.net/iml6yu/article/details/74530679 目录结构如下图   目录: Properties:属性,记录了项目属性的配置文件. ...

随机推荐

  1. centos7 添加自定义程序为系统服务

    centos6版本的系统服务是/etc/init.d启动脚本的方式,centos7采用强大的systemctl来管理系统服务,大幅提供了系统服务的运行效率,但是服务的配置和以前版本完全不同,这是很大的 ...

  2. windows检查

    # coding: UTF-8 import psutil import platform import re def get_cpu_used(upu_base, interval=1): perc ...

  3. mysql的日期时间类型格式

    日期时间类型 一般用整型保存时间戳,因为PHP可以很方便的将时间戳进行格式化. datetime 8字节 日期及时间 1000-01-01 00:00:00 到 9999-12-31 23:59:59 ...

  4. 049_Search Lookup (二)

    其实就是 在父object中 设置,search setting 中选中 enhanced lookup, and select the dialoge & Filter  默认looukp搜 ...

  5. Coursera Programming Languages, Part B 华盛顿大学 Week 3

    ML Versus Racket 同 函数编程模式 (with constructs that encourage a functional style) 不鼓励 mutation (但提供了支持 m ...

  6. 逆向学习物联网-网关ESP8266-04系统联合调试

    1.测试平台原理 2.搭建硬件测试平台 3.软件测试平台 1)串口终端 2)串口监视 3)OneNET后台服务 https://open.iot.10086.cn/passport/login/ 户名 ...

  7. linux上安装Oracle 包括常见安装错误(centos8.1,oracle linux8,redhat 8)通过

    谨记 关闭操作系统之前先关闭oracle数据库 oracle用户登录,执行lsnrctl start启动网络监听服务,执行dbstart启动数据库系统. oracle用户登录,执行lsnrctl st ...

  8. vue 项目打包 遇到问题 npm run build 无法打包

    npm run build 打包 直接报错!!! 发现package.json中build的打包后边多了一个:prod 因此打包直接使用  npm run build:prod

  9. servlet - 从本地下载图片

    import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet. ...

  10. Docker系列--Docker设置系统资源限制及验证

    1.限制容器的资源 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的给定资源.Docker提供了控制容器可以使用多少内存或CPU的方法,设置docker run命令的运行时配置标 ...