file-manager

CKEditor 5 + SpringBoot实战(四):SpringBoot 实现文件上传

与世无争的帅哥 提交于 2020-08-11 11:07:55
在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,CKEditor插入视频,获取/设置CKEditor内容等。 在本章节中,主要介绍的内容是在SpringBoot中实现图片上传功能,其中包括上传路径的设置,图片路径映射和上传业务代码的编写。 文件上传 所谓的文件上传就是将客户端的资源通过网络传输到服务端,其本质就是IO流操作。服务端通过IO流读取客户端数据,然后对数据进行解析,获取目标文件数据后,将数据存储到服务端磁盘中。 引入依赖 要实现文件上传,首先需要将所需要的依赖包导入到项目中。这里我们仅导入commons-fileupload和commons-io依赖包。通常,commons-fileupload依赖需要和commons-io一起搭配使用,其中封装了大量的用于操作文件上传的功能,可以帮助我们简化文件上传代码的编写。打开pom.xml配置文件,并加入如下的配置: < dependency > < groupId > commons-fileupload </ groupId > < artifactId > commons-fileupload </ artifactId > <

How to display only the filename in a JavaFX TreeView?

你说的曾经没有我的故事 提交于 2020-07-30 04:20:16
问题 So i have figured out how to get all the files and directories and add them to the treeview but it shows me the complete file path: C/user/file.txt i just want the file or folder name and not the path. The code to create the list is as follows: private TreeItem<File> buildFileSys(File dir, TreeItem<File> parent){ TreeItem<File> root = new TreeItem<>(dir); root.setExpanded(false); File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { buildFileSys(file,root); }

java Compiler API (java编译api)

蓝咒 提交于 2020-05-04 18:39:25
在早期的版本中(Java SE5及以前版本)中只能通过tools.jar中的com.sun.tools.javac包来调用Java编译器,但由于tools.jar不是标准的Java库,在使用时必须要设置这个jar的路径。而在Java SE6中为我们提供了标准的包来操作Java编译器,这就是javax.tools包。 编译java文件 使用Java API来编译Java源代码有非常多方法,目前让我们来看一种最简单的方法,通过JavaCompiler进行编译。 使用ToolProvider.getSystemJavaCompiler来得到一个JavaCompiler接口的实例。 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); JavaCompiler中最核心的方法是run()。通过这个方法能编译java源代码。 int run(InputStream in, OutputStream out, OutputStream err, String... arguments) 参数分别用来为: java编译器提供参数 得到Java编译器的输出信息 接收编译器的错误信息, 一个或多个Java源程式文件 如果run编译成功,返回 0。 如果前3个参数传入的是null,那么run方法将以标准的输入、输出代替,即System

SQLSERVER数据库死锁与优化杂谈

走远了吗. 提交于 2020-04-17 20:28:38
死锁杂谈 当数据库死锁时,SqlServer会释放一个优先级较低的锁,让另一个事务运行;所以,即时去捕捉数据库死锁,是挺不容易的。 如果,数据库死锁比较长时间,那么死锁是可以被捕捉的。 可以用SqlServer活动监视器来查看,哪些进程锁了数据库。 首先打开SqlServer活动监视器,然后可以看到,界面里有进程,查看资源,数据文件I/O,最近消耗大量资源的查询四项。 四项显示内容如下: 进程:在进程里可以看到哪些进程被阻塞,查看属性【阻塞者】可以看到,【阻塞者】的会话ID。 等待资源:等待资源里有一些锁,可以看看那些锁累计等待时间较多。 数据文件I/O:数据文件I/O记录一些数据库MDF,LDF的读写速度。 最近消耗大量资源的查询:记录一些消耗资源较大的SQL查询。 查询进程里被死锁的会话ID,然后执行下面的SQL,进行解锁。 declare @spid int Set @spid = 518 --锁表进程会话ID declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql) 也可以用下面SQL语句查询死锁进程,这样查询死锁进程,定位比较快。 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id

PrestaShop 网站漏洞修复如何修复

笑着哭i 提交于 2020-03-01 14:31:20
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。 2018年11月7号PrestaShop官方发布了最新的版本,并修复了网站的漏洞,其中包含了之前被爆出的文件上传漏洞,以及恶意删除图片文件夹的漏洞,该漏洞的利用条件是需要有网站的后台管理权限。 这次发现的PrestaShop漏洞,是远程代码注入漏洞,漏洞产生的代码如下在后台的admin-dev目录下filemanager文件里的ajax_calls.php代码,这个远程的注入漏洞是后台处理上传文件的功能导致的,代码里的getimagesize()函数是获取图片地址的一个函数,该函数使用了php反序列化,这个反序列化存在远程调用的一个功能,就是在这个功能里存在远程代码注入与执行,我们构造恶意的注入代码对其图片代码提交就会执行我们的代码,我们来演示一下,首先搭建一台linux服务器,并搭建好apache+mysql数据库的环境

开发的Web程序界面太丑?DevExpress ASP.NET v19.2意外的好用

a 夏天 提交于 2020-02-27 04:06:43
DevExpress ASP.NET Controls 中的控件具有优良的性能和高效的内存使用,且能保证其性能和功能不受影响。无论使用 ASP.NET AJAX 还是 ASP.NET MVC 作为编程目标,DevExpress ASP.NET Controls 中所提供控件和扩展程序都可帮助您创建卓越的业务解决方案,用于再现 Microsoft Outlook的外观、感觉和功能,并在满足终端用户对Web 应用程序提出的要求的前提下保持最高的性能标准。DevExpress ASP.NET Controls v19.2发布了全新的Gantt控件、GridView控件、Grid Lookup控件功能增强,欢迎下载最新版体验! DevExpress ASP.NET v19.2正式版下载 Gantt (CTP) 节点编辑 可以使用以下编辑操作: 调整和修改任务 更改任务之间的依赖关系 在Tree List区域中编辑单元格值,该组件会立即将更改保存在服务器上,并在单元格值更改时更新甘特图。 变更记录 DevExpress ASP.NET Gantt控件存储最终用户所做的更改,如有必要,可以回滚更改。 实时缩放 DevExpress ASP.NET Gantt控件使您可以浏览各个详细级别的数据,按住CTRL键并旋转鼠标滚轮进行缩放(放大或缩小)。 GridView 编辑表单布局 - 自定义API

如何从Android设备获取apk文件?

一曲冷凌霜 提交于 2020-02-27 03:29:42
如何从Android设备获取apk文件? 或者如何将apk文件从设备传输到系统? #1楼 如上所述,您可以使用adb中的pull命令获取apk。 由于您正在谈论已安装的应用程序,因此请继续查看Android文件系统的 / data / app 目录。 您会在其中找到APK。 然后使用adb命令-adb pull /data/data/appname.apk #2楼 我已经看到许多解决此问题的方法,要么您必须扎根手机,要么必须安装应用程序。 然后经过大量的搜索,我得到了 针对非root / root用户的电话的解决方案。 列出您到目前为止获得的应用程序。 adb shell pm list packages 然后您可以选择一个应用程序,例如twitter adb backup -apk com.twitter.android 这里重要的是不要设置用于加密备份的密码 这将创建一个名为backup.ap的文件,但是您仍然无法打开它。 为此,您必须使用dd命令再次将其提取。 dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar 在此之后,您要做的就是提取tar内容并完成。 希望它对你们有用 #3楼 这些建议对我都不起作用,因为Android会在包名称后附加序列号以产生最终的APK文件名。 在较新的Android版本

Responsive filemanager in tinymce, directory settings

一个人想着一个人 提交于 2020-01-15 23:03:10
问题 I'm using this file manager for file upload in tinymce. File Manager Having some problem with the directory. I'm using tinymce 4. My filemanager folder is in " localhost/BAD/ " directory, I have a file named about.php which is in " localhost/BAD/admin/ " directory. Now I can upload image and see from that about.php file. My settings of tinymce is **external_filemanager_path:"/BAD/filemanager/", filemanager_title:"Filemanager" , external_plugins: { "filemanager" : "filemanager/plugin.min.js"}*

Debugging Responsive File Manager Plugin (TinyMCE)

南笙酒味 提交于 2020-01-07 05:06:11
问题 Yesterday I found this great looking plugin for file and image management for tinymce however I cannot get the files to actually save to the drive. I have tried every commbination I can think of. responsivefilemanager.com - This plugin. Anyone used it before and know of the settings I might need? The plugin sits here: /public_html/cms/app/webroot/js/tinymce/plugins/filemanager I'm trying to set it up so the uploads go here: /public_html/cms/app/webroot/files/cms The config file for the plugin

Put Java application into file manager's context menu

不想你离开。 提交于 2019-12-31 05:16:10
问题 I'm using Eclipse IDE on Ubuntu. My app offers encryption services and I want to integrate it into the client OS. My question is: Is there a way to put my app programmatically into the context menu (right-click options) of the file manager, irrespective of the file manager a person is using? I would also like to know if there is any way I could do this on Windows explorer as well. But my guess is that it involves adding values to the registry and can be easily achieved. So, is there a general