读取网络图片时遇到的坑
发表于|更新于
|浏览量:
读书越多,越感到腹中空虚。 ——雪莱
今天在使用java读取网络图片的时候遇到一个问题
图片粘贴到浏览器的地址栏上可以打开
但使用java读取就报400
最后发现原来是url编码问题
把url中的中文、空格或者特殊字符之类的转换一下就好了
1 | java.net.URLEncoder.encode("www.阿超.com", "utf-8") |
相关推荐
2025-02-09
tis
你生而有翼,为何竟愿一生匍匐前进,形如虫蚁。——贾拉尔·阿德丁·鲁米 https://tis.pub/https://github.com/datavane/tis 最近在处理数据集成任务时,发现了一个非常实用的工具 TIS。它是一款面向大数据领域的数据集成产品,结合了多个优秀组件(如 FlinkX-CDC、Chunjun、DataX 和 Flink),为企业提供一站式、开箱即用的 DataOps 数据中台,显著提高了实时 ETL(Extract-Transform-Load)和数仓构建的效率。 在传统的 ETL 任务中,如果你是通过手动编写 DataX、Flink-CDC 或 SeaTunnel 的脚本来驱动数据同步,这不仅复杂,而且很容易出错。每次调试和修改配置都可能导致大量重复工作,让人疲惫不堪。而 TIS 的出现,让这些问题迎刃而解。它提供了可视化的操作界面,通过简单的配置就能实现端到端的数据同步,大幅降低了实施的门槛。 TIS 的安装过程非常简单,不需要复杂的配置。只需三步:第一步,下载 tar 包;第二步,解压 tar 包;第三步,启动 TIS。 如果你更偏好容器...
2023-04-09
apache-incubator-streampark源码编译本地运行
吾日三省吾身。——《论语》 1git clone https://github.com/apache/incubator-streampark.git 拉取代码时候如果提示filename-too-long则可以: git拉取代码提示filename too long 然后拉取完成后编译,执行根目录下build.sh 如果执行不了build.sh,则直接使用命令: 1mvn -Pscala-2.12,dist -DskipTests clean package 上面无论是build.sh还是命令执行成功后,都会生成dist目录 我们解压下面的tar.gz到incubator-streampark\streampark-console\streampark-console-service\target 重命名为streampark-console-service-2.1.0 然后配置streampark-console的运行,添加参数 1-Djdk.io.File.enableADS=true -Dapp.home=streampark-console/stream...
2023-05-04
hutool-excel设置单元格列宽
保持沉默,别人将以为你是一位哲学家。——佚名 hutool里excel可以如下使用,设置自动列宽: 12val writer = ExcelUtil.getWriter()writer.autoSizeColumnAll() 但也可以单独设置: 1writer.getSheet().setColumnWidth(1, 5000) 这里的1是列下标,5000是宽度 还可以设置冻结首行 1writer.setFreezePane(1)
2023-12-06
声网sdk检查
权欲如同烈酒和毒药,使人丧失理智。——易卜生 踩坑了踩坑了!对接三方厂商sdk一定要检查版本号! 今天对接声网sdk发现版本低,很多功能不支持!!!升级还发现不兼容! 炸了 于是开升级版本。。。 首先是gav可以直接从maven中央仓库下载啦 12345<dependency> <groupId>io.agora</groupId> <artifactId>rtm-java</artifactId> <version>2.1.7-beta</version></dependency> 然后如果是频道消息,则不再需要创建频道了,只需要订阅即可收到对应频道的消息 获取版本号的代码: 1RtmClient.getInstance().getVersion()
2024-09-09
Apache-ShenYu支持namespace功能(四)
教育的最高目标不是知识而是行动。——斯宾塞 本次适配是将几个页面的namespace选择框隐藏了,然后对data-permission数据权限配置弹框里添加了一个namespace选择框,并在内部切换namespace时候刷新表格 PR链接: https://github.com/apache/shenyu-dashboard/pull/479 隐藏namespace的逻辑很简单,首先用withRouter将react组件和dvajs的路由绑定: 1import { withRouter } from "dva/router"; 然后绑定: 1export default withRouter(GlobalHeader); 然后从props里取出当前路由 1const { location: { pathname } } = this.props; 进行判断,当不在下列路由里时,showNamespaces为true 12345678const showNamespaces = !~[ ...
2021-04-09
@JsonAutoDetect
背叛就是脱离自己的位置,背叛,就是摆脱原位,投向未知。——米兰·昆德拉 我们在使用jackson时可能会用到这样一个注解 1@JsonAutoDetect 例如我们这里一个Student类 123456789101112131415161718@Data@Builder@NoArgsConstructor@AllArgsConstructor@JsonAutoDetect(getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY, setterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY, creatorVisibility = JsonAutoDetect.Visibility.NON_PRIVATE, fieldVisibility = JsonAutoDetect.Visibility.PUBLIC...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog