Layui富文本编辑器图片上传接口(.NET C#)

2023-11-16

本来想偷懒找个现成的接口,搜了一下发现没有现成的,那我在这写一个并分享给大家吧。


demo打包好了在我的csdn下载中心:http://download.csdn.net/download/xianglikai1/9970000

下面也有代码和结构,你也可以复制代码。


先来张效果图:



layui的富文本编辑器样子是真的好看,简洁,虽然功能不多但是足够了,感觉唯一的小遗憾就是图片上传后不能拖拽编辑大小,只能在上传之前做好图片的尺寸,这一点百度的重量级UEditor就比较好了,但是,在我这里好看的优先级比较高大笑

接下来就是demo了


demo结构:



imgUploads文件夹是图片上传后保存的位置

layui这个就不用说了

server中的editimgup.ashx就是我们的图片上传接口

HtmlPage.html是我们的页面


页面的代码:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />
    <title></title>
    <link href="layui/css/layui.css" rel="stylesheet" />
</head>
<body style="background-color:#eee;">
    <div style="width:90%;margin-left:5%;margin-top:100px;background-color:#fff;">
        <textarea id="txt" style="display:none;"></textarea>
    </div>
    <input type="button" value="获取内容" id="btn1" class="layui-btn" style="margin-left:5%;margin-top:20px;" />
</body>
</html>
<script src="layui/layui.js"></script>
<script type="text/javascript">
    window.onload = function () {
        layui.use('layedit', function () {
            var layedit = layui.layedit;

            layedit.set({
                uploadImage: {
                    url: 'server/editimgup.ashx' //接口url
                  , type: 'post' //默认post
                }
            });

            var editIndex = layedit.build('txt', {
                height: 400
            });

            document.getElementById('btn1').onclick = function () {
                alert(layedit.getContent(editIndex));
            }
        });
    }
</script>

editimgup.ashx接口代码:(这注释可满意?)

<%@ WebHandler Language="C#" Class="editimgup" %>

using System;
using System.Web;
using System.IO; //需要这三个命名空间
using System.Drawing;//***
using System.Drawing.Imaging;//***

public class editimgup : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        string end = "{\"code\": 1,\"msg\": \"服务器故障\",\"data\": {\"src\": \"\"}}"; //返回的json

        var file = context.Request.Files[0]; //获取选中文件
        Stream stream = file.InputStream;    //将文件转为流

        Image img = Image.FromStream(stream);//将流中的图片转换为Image图片对象

        Random ran = new Random((int)DateTime.Now.Ticks);//利用时间种子解决伪随机数短时间重复问题

        //文件保存位置及命名,精确到毫秒并附带一组随机数,防止文件重名,数据库保存路径为此变量
        string serverPath = "/imgUploads/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + ran.Next(99999) + ".jpg";

        //路径映射为绝对路径
        string path = context.Server.MapPath(serverPath);

        try
        {
            img.Save(path, ImageFormat.Jpeg);//图片保存,JPEG格式图片较小

            //保存成功后的json
            end = "{\"code\": 0,\"msg\": \"成功\",\"data\": {\"src\": \"" + serverPath + "\"}}";
        }
        catch { }

        context.Response.Write(end);//输出结果
        context.Response.End();
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Layui富文本编辑器图片上传接口(.NET C#) 的相关文章

随机推荐

  • OCR入门教程系列(一):OCR基础导论

    作者简介 CSDN 阿里云人工智能领域博客专家 新星计划计算机视觉导师 百度飞桨PPDE 专注大数据与AI知识分享 公众号 GoAI的学习小屋 免费分享书籍 简历 导图等 更有交流群分享宝藏资料 关注公众号回复 加群 或 链接 加群 专栏推
  • 【LVGL学习笔记】image图像相关接口

    数据结构如下 Data of image typedef struct lv obj t obj const void src 图像源 指向数组 文件或符号的指针 lv point t offset lv coord t w 宽度 lv c
  • 计算机硬盘模式,硬盘三种模式的含义-电脑自学网

    硬盘三种模式的含义 NORMAL 普通模式 是最早的IDE方式 以此方式访问BIOS和IDE控制器对参数不做任何转换 该模式支持的最大柱面数为1024 最大磁头数为16 最大扇区为63 每个扇区字节数为512 因此这种模式所支持的硬盘最大容
  • Open3D点云处理算法最全合集

    Open3D点云处理算法最全合集 致力于搜集可运行 可视化较好的Open3D算法 持续更新中 1 Open3D 点云读取及可视化 离群点去除 2 Open3D 点云体素格下采样 3 Open3D 点云KdTree建立 3种近邻搜索及结果可视
  • 系统开发与运行

    系统开发与运行 系统分析与设计 需求分析 需求工程 结构化分析与设计 测试基础知识 系统运行与维护 软件架构介绍 系统分析概述 系统分析是一种问题求解技术 它将一个系统分解成各个组成部分 目的是研究各个部分如何工作 交互 以实现其系统目标
  • set_new_handler(0)是什么意思?有什么用?

    出自 STL源码剖析 第45页中有一行代码set new handler 0 源代码 inline T allocate ptrdiff t size T std set new handler 0 T tmp T operator new
  • C#中File FileInfo 和Directory DirectoryInfo 类的区别

    老师在讲C 文件操作的时候讲的个类 功能类似 但用法有区别 他们都存在于systerm IO命名空间下 File和Directory的方法都是静态方法 FileInfo和DirectoryInfo的方法都是普通方法 老师建议是如果你要在某个
  • Python之PyAudio使用

    PyAudio 播放 录音 回放 回调方法播放 非阻塞回调 PyAudio 使用这个可以进行录音 播放 生成wav文件等等 播放 coding utf 8 引入库 import pyaudio import wave import sys
  • aiohttp 异步http请求-12.aiohttp 请求生命周期(和requests库有什么不一样?)

    前言 aiohttp 请求生命周期对比requests库使用的区别 aiohttp 客户端 API 当你第一次使用 aiohttp 时 你会注意到一个简单的 HTTP 请求不是一次执行的 而是最多三个步骤 async with aiohtt
  • dac0832三角波c语言程序,单片机控制DAC0832输出正弦波三角波汇编程序

    org 0000h LJMP MAIN ORG 0003H LJMP L0 MAIN MOV R2 0aH 调幅倍数 MOV R4 01H 增减选择 MOV R5 01H pp SETB EA SETB EX0 延时计数个数 MOV A 0
  • 渗透系列之排序处产生的SQL注入问题

    1 在日常的测试过程中 发现系统的排序功能最容易产生sql注入 我们需要重点关注业务系统的排序功能 一般功能点对应这类字段 sortField sortOrder order orderby等 举个排序的SQL注入案例 发现系统的一个查询功
  • 2017-2018-1 20155227 《信息安全系统设计基础》第十三周学习总结

    2017 2018 1 20155227 信息安全系统设计基础 第十三周学习总结 找出全书你认为最重要的一章 深入重新学习一下 要求 期末占10分 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 我选择教材第
  • 冯乐乐之六,基础光照模型

    需要理清的概念 兰伯特 半兰伯特 冯模型 布林冯模型 高光反射specular 代表物体表面反射光线 漫反射diffuse 代表吸收然后散射出表面的光线 环境光ambient 自发光emissive 漫反射 漫反射从任何方向看都是一致的 漫
  • 科学推理~

    科学推理 物理 1 力学 重力 重力并不是指向地心的 只有赤道可以 弹力 重点 判断弹力方向 相互作用力 摩擦力 静摩擦力 滑动摩擦力 注意 最大静摩擦力默认等于滑动摩擦力 压强 固体压强 液体压强 连通器 气体压强 气体对外做功 T 下降
  • 计算机图形学OpenGLC++实现: 橡皮筋技术实现折线和矩形的鼠标实现(附源码)

    废话不多说 直接开始 下列是会使用到的函数简单介绍 初始化背景 void Initial void 改变窗口大小 void ChangeSize int w int h 菜单响应函数 chooseWay int value 清除当前已经画的
  • Vue3 学习笔记 —— (一)深入理解组合式 API

    Vue3 学习笔记梳理 Vue3 学习 零 Vue3 0 与 Vue2 x 的性能对比 一 搭建环境 二 创建项目 三 Vue3 Composition API 3 1 ref or setup reactive 3 1 1 非响应式数据显
  • 北斗系统学习—JT808协议用C语言解析

    前言 本人从事于Linux应用开发 音视频应用方向 现在主要是负者AI摄像头的开发 在学音视频的途中 虽然是个小白 但是更愿意把自己所学音视频的一些知识分享给大家 以后每周都会更新哦 本期介绍的是用c语言对Jt808协议解析 要对协议进行解
  • NotWritablePropertyException

    ssm项目又来一个低级错误 粗心粗心 异常信息 Caused by org springframework beans NotWritablePropertyException Invalid property mapperLocation
  • 【机器学习】人工神经网络(ANN)浅讲

    神经网络是一门重要的机器学习技术 它是目前最为火热的研究方向 深度学习的基础 学习神经网络不仅可以让你掌握一门强大的机器学习方法 同时也可以更好地帮助你理解深度学习技术 本文以一种简单的 循序的方式讲解神经网络 适合对神经网络了解不多的同学
  • Layui富文本编辑器图片上传接口(.NET C#)

    本来想偷懒找个现成的接口 搜了一下发现没有现成的 那我在这写一个并分享给大家吧 demo打包好了在我的csdn下载中心 http download csdn net download xianglikai1 9970000 下面也有代码和结