关于FSGithubPNG生成外链时描述出现路径问题

之前在FSGithubPNG上添加一个新的功能,就是上传图片后生成的外链可以是Markdown格式的图片链接,

如下:

md 复制代码
![美丽的风景](https://example.com/path/to/your/image.jpg)

图片描述在不同系统下的差异

在 macOS 系统中,图片外链的图片描述为图片名称;而在 Windows 系统中,图片描述为带全路径的名称,如下所示:

复制代码
![C:\Users\ADMINI~1\AppData\Local\Temp\tmp_rqboyon.png](https://cdn.jsdelivr.net/gh/ueYao/image-hosting@main/blog/2025/02/20250212202236212250.png)

我希望上述的图片外链中描述只应该有图片的名称,原始代码如下:

python 复制代码
 # 获取当前日期
            now = datetime.datetime.now()
            year = str(now.year)
            month = str(now.month).zfill(2)

            # 生成唯一文件名
            original_name = self.file_path.split("/")[-1]
            extension = original_name.split(".")[-1]
            unique_name = f"{CommonUtil.get_current_time_str()}.{extension}"
            base_folder = self.github_root_folder
            target_path =f"{base_folder}/{year}/{month}/{unique_name}" if base_folder else f"{year}/{month}/{unique_name}"

之前是取original_name为图片的描述,但是现在已经用unique_name代替原来的文件名,

python 复制代码
 if response.status_code == 201:
                download_url = response.json().get("content").get("download_url")
                if self.github_cdn_checked:
                    image_url = download_url.replace("https://raw.githubusercontent.com/",
                                                   "https://cdn.jsdelivr.net/gh/").replace(f"{self.github_repo}/",
                                                                                           f"{self.github_repo}@")
                    logger.info(f"CDN 加速jsDelivr:{image_url}")
                else:
                    image_url = download_url
                    logger.info(f"上传成功!图片外链:{image_url}")

                if self.github_markdown_checked:
					# 原始代码
                    #image_url = f"![{original_name}]({image_url})"
					# 修改代码
                    image_url = f"![{unique_name}]({image_url})"
                    logger.info(f"上传成功!图片外链,Markdown 语法:{image_url}")

                self.upload_finished.emit(f"上传成功!图片外链:\n{image_url}")

当上传图片成功(状态码为 201)时,获取下载链接。若开启 CDN 加速,对下载链接进行替换以使用 jsDelivr CDN。如果开启了生成 Markdown 格式链接的选项,将原本使用原始文件名作为图片描述,修改为使用唯一文件名作为图片描述。

最终修改后,上传图片后,图片的外链如下图

源码托管地址:https://github.com/flowstone/FSGithubPNG

相关推荐
humors22125 分钟前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
无限进步_34 分钟前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
粥里有勺糖1 小时前
视野修炼-技术周刊第129期 | 上一次古法编程是什么时候
前端·javascript·github
雷工笔记1 小时前
MES / WMS / AGV 交互时序图及生产管理模块界面设计清单
人工智能·笔记
pzx_0011 小时前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
大邳草民1 小时前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
程序员小远1 小时前
软件测试用例总结
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
2501_948114241 小时前
技术解码:Gemini交互式模拟API与高负载网关的选型逻辑
人工智能·python·ai
landuochong2001 小时前
claude-obsidian 再升级
人工智能·笔记·claudecode
CheerWWW1 小时前
C++学习笔记——线程、计时器、多维数组、排序
c++·笔记·学习