1、下载TinyMCE

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

解压缩后放在网站wwwroot目录

2、下载中文语言包

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

解压缩后放在langs目录

3、添加Razor页面

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

4、添加UploadController.cs

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Hosting; namespace CourseAssistant.Pages.TinyMCE
{
[Route("TinyMCE/[controller]")]
public class UploadController : Controller
{
IHostingEnvironment hostingEnvironment;
public UploadController(IHostingEnvironment hostingEnvironment)
{
this.hostingEnvironment = hostingEnvironment;
}
[HttpPost]
public string Post()
{
var files = Request.Form.Files;
if (files.Count==0)
{
return "No File";
}
var file = files[0];
var path = hostingEnvironment.WebRootPath;
var UploadDir = "UploadFiles";
var fulldir = Path.Combine(path, UploadDir);
if (!Directory.Exists(fulldir)) Directory.CreateDirectory(fulldir);
var filename = file.FileName;
var fullpath = Path.Combine(path, UploadDir, filename);
using (var fs=new FileStream(fullpath, FileMode.Create, FileAccess.Write))
{
file.CopyTo(fs);
fs.Close();
}
var url = $"/{UploadDir}/{filename}";
var fi = new fileinfo() { location = url };
var s = fi.ToString();
return s;
}
}
public class fileinfo:JsonObject<fileinfo>
{
public string location { get; set; }
}
}

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. c语言学习---void 数据类型

    这样的语法是错误的: void a = 10;  void表示无类型, 这样定义一个变量a, 编译器是无法知道给a分配多大的内存空间的 #include<stdio.h> #include ...

  2. Uncaught ReferenceError: Vue is not defined(之一)

    报错信息 Uncaught ReferenceError- Vue is not defined 报错代码示例 <body> <div id="app"> ...

  3. 解决MyBatis-Plus修改为null值无效的问题

    @TableField(strategy = FieldStrategy.IGNORED)

  4. ORACLE监听无法启动的几个原因

    1./etc/hosts中配置问题 误删了127.0.0.1的默认记录 2./var/tmp/.oracle的权限问题 TNS-12546:TNS:permission denied TNS-1256 ...

  5. 2022-04-21内部群每日三题-清辉PMP

    1.项目经理正在对比项目预算与行业指数,项目经理注意到项目总预算低于类似项目的估算.项目经理应该怎么做? A.更新风险登记册 B.调节资金限制 C.执行储备分析 D.请求专家判断 2.一个项目正在实施 ...

  6. curl 与 header 及 file_get_countents 访问内容时的区别

    在开发中 想用curl 或者是file_get_contents 模拟请求或者是获取数据时 ,经常会发现获取到的内容与想象中的不一样,主要原因在与这两个走得host要走外网,在内网及测试环境下host ...

  7. PAT-basic-1022 D进制的A+B java

    一.题目 输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: ...

  8. List进行分隔,分批插入数据库

    背景,当数据集合超过一定数据量时,则会插入失败,需要将集合进行分隔,分批插入 /** * 分批插入-公共方法 * @param objects:数据集合 * @param subSize:单次插入的条 ...

  9. CString常用方法简介

    CString常用方法简介 CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值   字符串一样 返回0 小于lpsz  返回-1 大于lps ...

  10. mark一下,python2.7版本不能直接print中文字符串,3.0以上的版本是可以的

    mark一下,python2.7版本不能直接print中文字符串,3.0以上的版本是可以的