Gitee 图床失效

2024-04-22 19:08
文章标签 gitee 失效 图床

本文主要是介绍Gitee 图床失效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Gitee 图床失效

前言

周末发现Gitee图床增加了防盗链,不能使用了。果然免费的就是最贵的,推荐大家将图片迁移到云服务器上,一年就几块钱比较便宜。

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

一、PicGo + 阿里云OSS图床配置

1.开通阿里云OSS

开通阿里云OSS https://www.aliyun.com/product/oss/

image-20220329165851953

2.创建Bucket

  • 读写权限我选的是公共读比较简单
  • Bucket名称是填写什么对应生成的图片域名就是下面这种格式: https://Bucket名称-cn-hangzhou.aliyuncs.com/
  • 其他的可以不用勾选(直接选择默认的就可以了)

image-20220329170036416

3.创建子账户

3.1 添加用户

我们需要AccessKey进行管理

image-20220329170631332

image-20220329170723122

创建好账户就可以看见Appkey,后面在说这个怎么用

3.1 配置用户权限设置

image-20220329171040796

4.配置PicGo

4.1配置阿里云图床

image-20220329171308772

  • 设定KeyId设定KeySecret处填写前面记录的AccessKey IDAccessKey Secret
  • 设定存储空间名处填写Bucket的名字。
  • 确定存储区域也是在创建Bucket时设定的。如果忘记了,可在阿里云后台的Bucket概览界面查看,比如我的是oss-cn-hangzhou。见下图。
  • 指定存储路径可填写为img/

image-20220329171414283

点击确定,到此便完成了PicGo+阿里云OSS的图床配置。建议勾选「设为默认图床」。

4.2.设置自动上传图片

image-20220329173408408

二、迁移Markdown文件图片到阿里云OSS

1.Gitee图床还可以访问迁移

1.1 在PicGo中增加插件pic-migrater

image-20220329172015844

1.2.选择需要替换的md文件

image-20220329172039250

选择文件后就会自动替换 Markdown文件中的图片位置。

2.Gitee图床还不可以访问迁移

针对Gitee图床无法访问,我想到的解决办法是,将Markdown文件中的图片路径替换就行。但是文件太多手动替换不太现实。

我的思路是,获取文件夹下的所有md格式文件,并按照行读取文件,然后替换文件。

由于格式都是![]()的并且图片名称都是相同的。此方案比较笨拙,若大佬们有好的解决方案,欢迎留言告知我。

package com.whcoding.test;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;/*** @program: spring-boot-learning* @description: 读取写入文件* @author: whcoding* @create: 2022-03-28 17:46**/
@Slf4j
public class ReadTxtTest{/**** 替换字符串* @param args*/public static void main(String args[]) {String path = "F:\\temp\\oss-img-md";//1.读取文件夹下的所有视频文件List<File> fileList = new ArrayList<>();readFileInDir(path, fileList);//2.获取文件名称List<String> fileNameList = fileList.stream().map(File::getName).collect(Collectors.toList());log.info("得到的文件列表为:");fileNameList.stream().forEach(t -> System.out.println(t));log.info("待转换的文件个数为:{}",fileNameList.size());//3.需要转换处理的字符串String toOldStr = "https://gitee.com/image/raw/master/image/";String toReplaceStr = "https://Bucket.oss-cn-hangzhou.aliyuncs.com/img/";String outFilePath = "F:\\博客文档_新";//4.替换文件fileList.stream().forEach(c-> easyReadAndWriteFile(c.getAbsolutePath(),outFilePath,toOldStr,toReplaceStr));System.out.println("执行完成!");}/**** @param readFilePath 读取文件的地址* @param outFilePath 输出文件的路径* @param toOldStr 旧文件【需要替换的文件】* @param toReplaceStr 【替换成新的文件】*/@Testpublic static void easyReadAndWriteFile(String readFilePath,String outFilePath,String toOldStr,String toReplaceStr) {BufferedReader reader = null;try {reader = new BufferedReader(new FileReader(readFilePath));PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outFilePath)));String lineStr;while ((lineStr = reader.readLine()) != null) {if (StringUtils.isNotEmpty(lineStr) && lineStr.contains(toOldStr)) {out.println(lineStr.replaceAll(toOldStr, toReplaceStr));count++;}}reader.close();out.close();System.out.println("执行完成!");} catch (IOException e) {e.printStackTrace();} finally {//关闭流if (reader != null) {try {reader.close();} catch (IOException e1) {e1.printStackTrace();}}}}/*** 递归读取文件夹下的所有文件** @param path*/public static void readFileInDir(String path, List<File> fileList) {File f = new File(path);//得到文件下的所有文件File[] files = f.listFiles();for (File file : files) {if (file.isDirectory()) {readFileInDir(file.getAbsolutePath(), fileList);} else {if (isMarkDownFile(file.getName())) {fileList.add(file);}}}}/*** 判断是否是markdown文档** @param fileName* @return*/public static boolean isMarkDownFile(String fileName) {boolean result = false;Set<String> markDownFileSuffix = new HashSet<>();markDownFileSuffix.add("md");String suffix = fileName.substring(fileName.lastIndexOf('.') + 1);if (markDownFileSuffix.contains(suffix)) {result = true;}return result;}
}

参考

PicGo + 阿里云OSS:https://mp.weixin.qq.com/s/Mry9_HdLbXz8w4_874_7eQ

阿里云官网: https://www.aliyun.com

购买存储空间: https://common-buy.aliyun.com/?spm=5176.8465980.0.0.4e701450E6303q&commodityCode=ossbag&request=%7B%22region%22%3A%22china-common%22%7D#/buy

流量费用官方说明: https://help.aliyun.com/document_detail/59636.html?spm=5176.11451019.101.3.5b302135Qd1ak4

PicGo: https://github.com/Molunerfinn/PicGo/releases

这篇关于Gitee 图床失效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926618

相关文章

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

SpringBoot嵌套事务详解及失效解决方案

《SpringBoot嵌套事务详解及失效解决方案》在复杂的业务场景中,嵌套事务可以帮助我们更加精细地控制数据的一致性,然而,在SpringBoot中,如果嵌套事务的配置不当,可能会导致事务不生效的问题... 目录什么是嵌套事务?嵌套事务失效的原因核心问题:嵌套事务的解决方案方案一:将嵌套事务方法提取到独立类

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

ider文件查找功能失效

在ider中,配置快速查找文件为ctrl+shift+R(Eclipse风格),有时明明类存在,却搜索不到,这时可以清除idea缓存并重启试试: 第一步:点击 File 选择 Invalidate Caches/Restart 第二步:

Form 表单的 resetFields() 失效原因

假设我们有如下代码:  <template><ElForm ref="formRef" :model="formModel" :rules="rules"><!-- 表单内容 --></ElForm></template><script setup>import { ref } from 'vue';const formRef = ref(null);const formModel = ref

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境?

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境? 当WoTrus DV Server CA证书失效后,你需要确保你的Nginx配置中不再引用该证书,并且移除或替换相关的证书文件。以下是具体步骤: 1. 确认Nginx配置文件 首先,检查Nginx的配置文件,确保它不再引用旧的WoTrus证书。如果你已经使用Certbot安装了Let’s Encrypt证书,Certbo

wx.chooseMessageFile在pc端微信小程序失效解决方法

项目场景: 在uniapp上驱动微信开发者工具(下图) 在手机上和微信开发者工具中(图1)都可以上传成功, 打开pc端的微信小程序 在pc端打开小程序时点击上传没反应 问题描述 提示:这里描述项目中遇到的问题: 在pc端打开小程序上传的时候发现点击上传没有反应,通过(    console.log("打印====111")    )打印步骤发现wx.chooseM