V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tomorrow092
V2EX  ›  问与答

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

  •  
  •   tomorrow092 · 131 天前 · 508 次点击
    这是一个创建于 131 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 直接 将文字解析为图片.
    NewYear
        1
    NewYear  
       130 天前
    不可以拼接。
    imgur 这种 URL 有两种,一种是单个图片,一种是多图片(虽然也可能只放了 1 个图)。

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

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

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


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

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

    NewYear
        7
    NewYear  
       129 天前
    @tomorrow092 #5

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

    如果你又懒又勤快,可以发给 AI 帮你解决,它都可以做到。
    tomorrow092
        8
    tomorrow092  
    OP
       129 天前
    @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
        9
    NewYear  
       129 天前
    @tomorrow092 #8

    可以的,很好,你自用能用就很好。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 05:28 · PVG 13:28 · LAX 22:28 · JFK 01:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.