用SpringBoot框架来接收multipart/form-data文件

在本文中,您将学习如何使用 Spring Boot 实现 Web 服务中的文件上传和下载功能。首先会构建一个 REST APIs 实现上传及下载的功能,然后使用 Postman 工具来测试这些接口,最后创建一个 Web 界面使用 JavaScript 调用接口演示完整的功能。最终界面及功能如下:

继续阅读用SpringBoot框架来接收multipart/form-data文件

禁止ubuntu 20.04自动休眠

最近在升级到ubuntu 20.04桌面版之后,发现当登陆之后,如果系统较长时间不操作,系统就自动休眠了。

如果重启之后,从来都没有登陆,就不会出现系统自动休眠的情况。

观察系统日志,发现类似如下的内容:

发现是触发了systemd的自动休眠功能,检查休眠功能的状态以及历史记录,如下:

普通桌面应用这个情况问题不大,但是如果是作为服务器使用的时候,我们一般远程访问系统,这个功能就会导致我们无法远程控制服务器,因此我们需要关闭这个功能。

执行关闭休眠功能的命令,如下:

再次观察系统休眠状态,如下:

发现自动休眠功能已经被关闭,不会出现自动休眠导致远程控制无法访问的情况了。

参考链接


解决ubuntu安装软件has install-snap change in progress错误

在ubuntu软件商店安装vscode

报错:

无法安装visual studio code,

继续阅读解决ubuntu安装软件has install-snap change in progress错误

macOS 10.15.7运行JNLP文件

系统升级到macOS 10.15.7之后,发现JNLP文件无法打开了,默认的Java被切换到OpenJDK了。

但是根据官方说明,从Java 1.8开始,OpenJDK已经默认不携带Java Web Start功能了,这些功能被限定为Oracle JRE专有的功能。因此默认的javaws已经无法找到了。

Java Web Start (JWS) was deprecated in Java 9, and starting with Java 11, Oracle removed JWS from their JDK distributions. This means that clients that have the latest version of Java installed can no longer use JWS-based applications. And since public support of Java 8 has ended in Q2/2019, companies no longer get any updates and security fixes for Java Web Start.

解决方法有两个,一个是使用 OpenWebStart 来打开JNLP文件,可惜的是,目前功能不够完善,很多应用无法正常运行,比如HP Gen8集成远程控制台系统的Java Web Start

另一个是使用 Orocle JRE 来打开JNLP文件,目前这个功能是比较好用的,就是需要注册账号才能下载。

参考连接


snap国内加速

最近升级到ubuntu 20.04之后,大量的软件都已经通过snap方式安装了,但是由于国内没有镜像服务器,导致下载速度很慢,解决方式如下:

Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute

最近在浏览器(Chrome 85.0.4183.121)调试网页的时候,出现如下警告信息:

继续阅读Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute

WordPress隐藏前台登录用户名

最近在查看Limit Login Attempts日志的时候,发现大量的登陆尝试,关键是登陆使用的用户名是正确的。感到很奇怪,用户名是如何泄漏的呢?

网上搜寻了一下,发现原来用户名是被WordPress主动泄漏出来的。

WordPress鼠标点击前台用户名,浏览器就会跳转到 https://www.mobibrw.com/author/username 这个链接,这样一来就直接暴露了登陆用户名,哪怕你已经在前台使用了昵称。这是个很大的安全隐患!

后台登陆用户名也可以这样查看到:https://www.mobibrw.com/?author=1,多用户的可以把 1 变为 2、3、4、5 等,就可以在地址栏查看到各个用户名。

为了避免暴露登陆用户名,我们需要配置禁止用户名显示。我们需要在当前使用的主题的functions.php中增加如下函数

参考链接


com.android.tools.r8.ApiLevelException: Invoke-customs are only supported starting with Android O

原因是某些第三方库使用了Java 1.8API,导致整个项目必须使用Java 1.8

解决方法就是增加如下编译命令

完整的例子如下:

参考链接


Hudson/Jenkins -- 消除svn警告: "clock of the subversion server appears to be out of sync"

Hudson/Jenkins中配置svnURL时,有时会出现如下警告信息:

基本选择每次重新checkout最新的版本,也会出现该警告信息。

并且经常无法获取到最新的代码,要等几分钟之后才能拉取到最新的代码。

这个在编译的时候有时候会有这个警告,主要是svn等服务器的时钟和本机的时钟有偏差,比如svn的时钟比较快,jenkins的时钟慢,当你提交svn的时候,紧接着进行jenkins构建,这个时候jenkinssvn update由于时钟原因就更新不到刚才的数据,但过了几分钟之后再进行更新的时候,超过两台机器的时间差,在次进行jenkins构建,就可以update到数据。

继续阅读Hudson/Jenkins -- 消除svn警告: "clock of the subversion server appears to be out of sync"