v2 使用 imgur 图床的时候 如何得到 域名为 i.imgur.com 且带有格式后缀的图片?

2025 年 5 月 21 日
 tomorrow092
imgur 上传图片后得到的是 网页的链接 https://imgur.com/IokkDIW


default 语法中要求 域名为 i.imgur.com 且带有 格式后缀 比如 https:空格占位 //i.imgur.com/IokkDIW.png 这种二级域名+后缀的方式才能正常显示 比如下面这个图片链接




markdown 语法中 可以是: A: ![]空格占位( https://imgur.com/IokkDIW.png) 这种不带 i 域名,但需要带后缀的格式
或者是 ![] 空格占位( ) 这种使用了 i.imgur.com 域名的方式

问题一:一般都是得到 https://imgur.com/IokkDIW 链接, 如何方便得到 域名为 i.imgur.com 且带有 格式后缀的链接? 自己手动拼接? 写自动化脚本热字符触发替换?


问题二: v2 的回复 还是不支持 markdown 语法, 为啥不做支持?

备注: 空格占位 的含义是避免 v2 直接 将文字解析为图片.
1124 次点击
所在节点    问与答
9 条回复
NewYear
2025 年 5 月 21 日
不可以拼接。
imgur 这种 URL 有两种,一种是单个图片,一种是多图片(虽然也可能只放了 1 个图)。

单图片理论上拼接后缀名可以成功,但要猜测后缀名难咯。

我的解决办法是通过 API 获取原图 URL 。
你去看看吧,API 没有门槛的,直接可以用。
NewYear
2025 年 5 月 21 日
"单图片理论上拼接后缀名可以成功,但要猜测后缀名难咯。"

单个图片 URL ,直接拼后缀可以,但要猜测后缀名。
多图片 URL (但页面可能也显示为单图片),则要通过 API 获取“原图 URL”,多图方式的图片文件名和 URL 是无关的。
tomorrow092
2025 年 5 月 22 日
单个图片 URL ,直接拼后缀可以,但要猜测后缀名。


后缀名随便写,写错了也没关系. imgurl 是不关心后缀名的.

i.imgur 链接直接指向图像,而 imgur.com 链接指向 imgur 页面,该页面还显示图片、带宽和其他图片。
任何 imgur 链接都可以替换为 i.imgur ,您将看到没有其他信息的图片。
tomorrow092
2025 年 5 月 22 日
tomorrow092
2025 年 5 月 22 日
@NewYear #1
@NewYear 你看下
tomorrow092
2025 年 5 月 22 日
@NewYear #2 这个 BBcode 里面有 i.imgur + 文件扩展名的完整格式. 不过 imgurl 好像对扩展名不敏感, 随便写个扩展名就都能显示.

NewYear
2025 年 5 月 22 日
@tomorrow092 #5

如果你懒,就按照我说的方法最简单。
如果你很勤快,看一眼他家的 API ,直接写一个也很容易,事实上我就是写过一次了,不过我的是套件,不适合拿出来。

如果你又懒又勤快,可以发给 AI 帮你解决,它都可以做到。
tomorrow092
2025 年 5 月 22 日
@NewYear #7
我现在写了个热字符串脚本
/**
 * 使用 Default 语法发图片 Imgur ,域名为 i.imgur.com,且带有格式后缀
 */
:*:v2defaultimg:: {
    genV2_DefaultImg()
}
:*:v2img:: {
    genV2_DefaultImg()
}
genV2_DefaultImg() {
    ; Trim clipboard content
    tempClipboard := Trim(A_Clipboard)

    ; Check if clipboard is empty or not a URL
    if (tempClipboard = "" || !RegExMatch(tempClipboard, "^https?://")) {
        commonShowNotify("info", "剪贴板为空或者不是 url", 6)

        return
    }
    commonShowNotify("info", "![替代文字](图片链接).", 6)
    ; Process each line in the clipboard
    urls := StrSplit(tempClipboard, "`n", "`r")
    for url in urls {
        trimUrl := Trim(url)
        if (trimUrl != "") {
            ; 检查 URL 是否以 https://imgur.com/ 开头
            if (InStr(trimUrl, "https://imgur.com/", CaseSensitive := false) == 1) {
                ; 对于 imgur 图片链接,转换为 i.imgur.com 并添加 .png 后缀
                imgurId := SubStr(trimUrl, StrLen("https://imgur.com/") + 1)
                defaultImgUrl := "https://i.imgur.com/" . imgurId . ".png"
                SendText(defaultImgUrl)
            } else {
                ; 对于其他链接,直接使用标准 Markdown 链接格式
                SendText(trimUrl)
            }

            SendEvent "{End}{Enter}"
        }
    }

}
NewYear
2025 年 5 月 22 日
@tomorrow092 #8

可以的,很好,你自用能用就很好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1133140

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX