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:属性,记录了项目属性的配置文件. ...
随机推荐
- vulnhub:Its_October靶机
kali:192.168.111.111 靶机:192.168.111.175 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --script=http-enum 192.168. ...
- Job for nfs-server.service failed because the control process exited with error code. See "systemctl status nfs-server.service" and "journalctl -xe" for details.
问题: 解决:
- 用C#的控制台程序写一个飞行棋项目
using System; namespace 飞行棋项目 { class Program { ///1.画游戏头 ///2.初始化地图 ///把整数数组中数字编程控制台中显示的特殊字符显示的过程,就 ...
- [Python.Unix和Linux系统管理指南]书籍
Python.Unix和Linux系统管理指南书籍下载地址 提取码:eqf4 内容简介 · · · · · · <Python UNIX和Linux系统管理指南>介绍了Python语言如 ...
- C++实现线性表-顺序表的合并操作代码
#include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...
- iOS开发之运行报错 dyld: Library not loaded: *** Reason: image not found
xcode运行报错 dyld: Library not loaded: @rpath/Flutter.framework/Flutter Referenced from: /private/var ...
- ESP-Example ble-ancs解析
苹果通知中心服务(ANCS)的目的是让蓝牙配件(通过蓝牙低能耗链接连接到iOS设备)以简单方便的方式访问iOS设备上产生的各种通知. Apple通知中心服务是主服务,其UUID为7905F431-B5 ...
- libev中的__attribute__优化
在学习libev的过程中,遇到了大量的__attribute__优化方式,此文章将它们做一个汇总和介绍,并会持续更新 1.unused:使编译器忽略未使用的函数或者变量 源码如下 1 //判断如果gc ...
- ssh scp 相关
1. 设置ssh 的免密登录 1> 将 ~/.ssh/id_rsa.pub文件中的内容拷贝到 远程host的 ~/.ssh/authorized_keys文件中 2> ssh-copy-i ...
- python+pytesseract识别图片文字
此文只介绍一下python+pytesseract识别一些简单图片的数字,字母和汉字.如图1 import pytesseract from PIL import Image,ImageEnhance ...