Asp.Net Core 网站使用TinyMCE实现上传图片
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实现上传图片的更多相关文章
- ASP.NET Core 网站发布到Linux服务器
长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...
- ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...
- docker 初识之二(简单发布ASP.NET Core 网站)
在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- ASP.NET CORE网站部署到 windows server 的IIS 上去
章基于我自己经验的一个总结,在windows服务器上部署asp.net core网站.环境是 windows server 2012数据中心版本 第一步先安装 IIS 服务器 接下来就是一路下一步,然 ...
- .Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站
前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程 ...
- CENTOS7.3 64位架设使用MYSQL数据库的ASP.NET CORE网站
注:本人使用的是云服务器,具体CentOS怎么安装这里不作赘述. 网站架设效果可以查看https://www.resape.com 一.在CentOS上安装Dotnet Core环境 1.Add th ...
- asp.net.core网站重启后登陆无效问题(部署在IIS)
一.问题 在使用asp.net.core时,把网站发布到IIS后,在后续更新中需要停止网站,然后重启网站,发现已经登陆的用户会退出登陆.过程如下 1.登陆代码(测试) [AllowAnonymous] ...
- 翻译 - 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 本文介 ...
- ASP.NET Core网站初探
原文地址:https://blog.csdn.net/iml6yu/article/details/74530679 目录结构如下图 目录: Properties:属性,记录了项目属性的配置文件. ...
随机推荐
- select选项中的内容和其他输入框不对齐
有时候总会遇见莫名其妙的问题,如图中(为了清除的表示问题,我又用画图将偏离更夸张些).为了解决这个问题,只好取消样式优化,同时自己加小箭头.但是为什么会有这样的问题啊 /*取消iphone样式优化*/ ...
- 2022.11.09 NOIP2022 模拟赛六
科学 Source:CF461C Appleman and a Sheet of Paper,*2200. 注意到对于 \(p\le \lfloor \frac {now}{2}\rfloor\),直 ...
- 2019-2020-1 20199318《Linux内核原理与分析》第十三周作业
<Linux内核原理与分析> 第十三周作业 一.预备知识 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片 ...
- 运筹学之线性规划 1.X
线性规划 线性规划问题的标准形式可以写成: \[\begin{aligned} &max~z=\pmb{c}^T\pmb{X} \\ &s.t.\{ \begin{aligned} & ...
- FSCapture怎么取色
启动软件后 点击setting->Screen color Picker 此时箭头会变为一个吸管形状, 选择要吸取的颜色,点击鼠标左键 出现如图所示 完了复制这个十六进制颜色值
- TypeScript 元组
TypeScript 元组 我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组. 元组中允许存储不同类型的元素,元组可以作为参数传 ...
- C#定时任务(Timer)
新建Timer类 using BaseAsset.Data.Infrastructure; using BaseAsset.Data.Repositories; using BaseAsset.Ent ...
- springboot项目打成jar包,启动指定外部的yml文件
java -jar xxx.jar --spring.config.local=application.yml
- 执行Maven的test命令报错
参考网址:https://blog.csdn.net/weixin_46688566/article/details/126470742 解决方案 在pom.xml文件中加入以下依赖: <plu ...
- uniapp 移动端渲染富文本时图片超宽解决方法
使用replace替换富文本中的图片属性 let reg = new RegExp('<img','gi'); this.info = this.info.replace(reg,'<im ...