Ueditor 改造, 为每个用户单独创建上传附件目录,用户只能查看自己上传的附件文件

1、修改 ueditor\net\config.json 文件

 

约 第78行:

/* 上传文件配置 */"filePathFormat": "upload/{username}/file/{yyyy}{mm}{dd}/{time}{rand:6}",

约 第134行:

/* 列出指定目录下的文件 */"fileManagerListPath": "upload/{username}/file",

 

修改说明:

1、给附件上传地址添加 username 参数。(参数名可以自己定义,程序处理时一致即可。)

2、给在线文件列表路径添加 username 参数。

 

默认参数说明:

"{time}", DateTime.Now.Ticks.ToString()//以0.1纳秒为单位的时间戳 
"{yyyy}", DateTime.Now.Year.ToString()//年 
"{yy}", (DateTime.Now.Year % 100).ToString("D2")//年 
"{mm}", DateTime.Now.Month.ToString("D2")//月 
"{dd}", DateTime.Now.Day.ToString("D2")//日 
"{hh}", DateTime.Now.Hour.ToString("D2")//时 
"{ii}", DateTime.Now.Minute.ToString("D2")//分 
"{ss}", DateTime.Now.Second.ToString("D2")//秒 
"{filename}",originFileName //原始文件名(不含扩展名)

 

如果想保留原文件名,可以设置为(上传时程序会覆盖已有同名文件):

"filePathFormat": "upload/{username}/file/{yyyy}{mm}{dd}/{filename}",

 

2、修改 ueditor\net\App_Code\PathFormater.cs 文件

约 第46行:

    pathFormat = pathFormat.Replace("{ss}", DateTime.Now.Second.ToString("D2")); /**新增用户信息**/ pathFormat = pathFormat.Replace("{username}", (HttpContext.Current.Session?["UserID"]??"").ToString().Trim()); 
return pathFormat + extension;

 

修改说明: 处理username 参数 替换为用户信息

 

3、修改 ueditor\net\controller.ashx 文件

约 第9行 :

public class UEditorHandler : IHttpHandler,System.Web.SessionState.IRequiresSessionState

 

约 第60行:

#Config.GetString("fileManagerListPath")--->PathFormatter.Format("",Config.GetString("fileManagerListPath"))
case "listfile": action = new ListFileManager(context, PathFormatter.Format("",Config.GetString("fileManagerListPath")), Config.GetStringList("fileManagerAllowFiles")); 
break;

 

修改说明:

1、引入,System.Web.SessionState.IRequiresSessionState是为了取Session信息,否则一直为null (下同)

2、处理在线文件列表路径 “fileManagerListPath”

 

4、修改 ueditor\net\App_Code\UploadHandler.cs 文件

约 第11行:

public class UploadHandler : Handler, System.Web.SessionState.IRequiresSessionState

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Silverlight 5 beta新特性探索系列:9.视频快进快退和TextSearch对象对文字项查询

本节讲诉两个新特性:一、在Silverlight 5中可以控制MediaElement对象播放的视频进行快进快退控制。二、在Silverlight 5中的文字项进行搜索查询。 一、对于MediaElement媒体播放对象的视频进行快退快进控制 它是通过MediaElement.PlaybackRate属性进行控制的。当前此…

【错误异常大全】:ArcGIS Engine中C#无法引用ESRI.ArcGIS.AxControls问题

ArcGIS Engine中C#无法引用ESRI.ArcGIS.AxControls问题,具体如下。 发现在引用列表中找不到ESRI.ArcGIS.AxControls服务。 一直显示感叹号。 多次尝试添加无果,解决方法:选中引用列表中的ESRI.ArcGIS.AxControls,在属性表窗口中将…

C语言试题122之利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。 2 、温馨提示 想…

Java IO流读取/写入/修改某个字符串(通用)

2019独角兽企业重金招聘Python工程师标准>>> package com.test;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import jav…

重新开始征程

自本科毕业,离开那座城市,来到帝都,开始新的生活,也就没有再开垦这片热土。重启征程是因为研究生快要毕业啦! 改了昵称和博客的名称,在百度搜索的时候发现,本科毕设拿了省优秀毕业设计三等奖了&…

.Net Core-做一个微信公众号的排队系统

Part1前言微信扫码登录,微信扫码获取排队信息这些场景很常见,但是大家知道里面的原理是怎么实现的呢?今天我就来给大家解惑!Part2总体流程1浏览器请求服务器获取到二维码图片浏览器生成唯一值uuid通过uuid获取到带参数的二维码&am…

Python 实现 csv文件转换成json文件

# -*- coding:utf-8 -*- # csv转换成json import csv import jsonfile_path "district.csv" # 指定encodeingutf-8中文防止乱码 csvfile open(file_path,r, encodingutf-8) jsonfile open(district.json, w,encodingutf-8)# 指定列名 fieldnames ("code&q…

【292天】跃迁之路——程序员高效学习方法论探索系列(实验阶段50-2017.11.24)...

实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长实验期2年(2017.10.06 - 2019.10.06)我将以自己为实验对象。我将开源我的学习方法,方法不断更新迭代&#…

C语言试题123之有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个

1、题目 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后 问第一个人,他说是 10 岁。请问第五个人多大? 分析:利用递归的方法,递…

【ArcGIS Engine二次开发】地图操作(1):加载Mxd地图文档

在ArcGIS中,以mxd作为扩展名的文件叫地图文档。地图文档中只是包含图层的引用,即存储当前地图的图层路径、符号、状态、修饰等信息,并不存储真实的数据层。 ArcGIS Engine中有常见两种加载地图文档的方法:LoadMxFile方法和IMapDocument方法,案例效果如下图所示: 打开VS20…

JAVA的extends用法

理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。(1)继承 [java] view plaincopy cla…

C++实现静态顺序表的增删查改以及初始化

C实现静态顺序表的增删查改顺序表&#xff1a;用一段地址连续的存储单元依s次存储数据元素的线性结构&#xff0c;是线性表的一种。//SeqList.h#pragma once#include <assert.h> #include <string.h>#define MAX_SIZE 5 typedef int DataType;//定义顺序表结构体 t…

CSS伪元素 after 实现鼠标悬浮信息及动画效果

<p class"titleinfo_title title_hover" data-content" 04 喜看稻菽千重浪--记首届国家最高科技奖获得者袁隆平 等三篇"> 04 喜看稻菽千重浪--记首届国家最高科技奖获得者袁隆平 等三篇 </p> 强制多行显示效果&#xff1a; <style type&…

记一次 .NET 差旅管理后台 CPU 爆高分析

一&#xff1a;背景 1. 讲故事前段时间有位朋友在微信上找到我&#xff0c;说他的 web 系统 cpu 运行一段时候后就爆高了&#xff0c;让我帮忙看一下是怎么回事&#xff0c;那就看吧&#xff0c;声明一下&#xff0c;我看 dump 是免费的&#xff0c;主要是锤炼自己技术&#xf…

C语言试题124之给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字

C语言试题124之给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 47/100 发布文章 u011068702 未选择任何文件 new ✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模…

C#数组原来这么简单,你学废了吗?

文章目录 5.1 数组的概念5.2 数组声明与初始化5.3 数组的基本操作与排序5.4 多维数组小结5.1 数组的概念 1.数组与数组元素 数组是相同类型的对象的集合。 一个数组可以含有若干个下标变量(或称数组元素),下标也叫索引(Index),用来指出某个数组元素在数组中的位置。 数组…

数据基本类型以及相关举例

数据基本类型&#xff1a; 整型&#xff1a;字节型byte 短整型short 整型int 浮点类型&#xff1a;长整形long 浮点型 fioat 双精度性double 字符型&#xff1a;char 布尔型&#xff1a;boolean引用类型&#xff08; reference&#xff09;&#xff1a;类class 接口inte…

android--Activity有返回值的跳转

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.hanqi.test4"><applicationandroid:allowBackup"true"and…

[转]ES6、ES7、ES8、ES9、ES10新特性一览 (个人整理,学习笔记)

目录 1.ES6新特性&#xff08;2015&#xff09; 1.1模块化(Module) 1.1.1导出(export) 1.1.2导入(import) 1.2箭头&#xff08;Arrow&#xff09;函数 1.2.1箭头函数的结构 1.3默认参数 1.4模板字符串 1.5.结构赋值 1.5.1数组的结构赋值 1.5.2对象的结构赋值 1.6延…

使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》

前言最近在看微软开源的机器学习框架ML.NET使用别人的预训练模型(开放神经网络交换格式.onnx)来识别图像&#xff0c;然后逛github发现一个好玩的repo。决定整活一期博客。首先还是稍微科普一下机器学习相关的知识&#xff0c;这一块.NET虽然很早就开源了ML.NET框架&#xff0c…