欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 关于FSGithubPNG生成外链时描述出现路径问题

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

2025/2/21 3:19:58 来源:https://blog.csdn.net/u010868168/article/details/145612602  浏览:    关键词:关于FSGithubPNG生成外链时描述出现路径问题

20250213145658506304.png

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

如下:

![美丽的风景](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)

C:\Users\ADMINI~1\AppData\Local\Temp\tmp_rqboyon.png

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

 # 获取当前日期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_foldertarget_path =f"{base_folder}/{year}/{month}/{unique_name}" if base_folder else f"{year}/{month}/{unique_name}"

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

 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_urllogger.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 格式链接的选项,将原本使用原始文件名作为图片描述,修改为使用唯一文件名作为图片描述。

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

20250213143725216609.png

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词