开发者社区> 问答> 正文

钉钉工作通知中 markdown 可以传入本地的图片 ,发送出去吗,如何获取

image.png

展开
收起
游客hgjqrs6jefhwg 2023-12-29 13:14:30 1036 0
2 条回答
写回答
取消 提交回答
  • 2023-12-29 15:15:23
    赞同 展开评论 打赏
  • 钉钉工作通知中的Markdown格式本身不支持直接上传和插入本地图片。但是,你可以通过以下几种方式来实现:

    1. 上传图片到云端
      首先将本地图片上传到支持外链的云存储服务,如阿里云OSS、腾讯云COS或者第三方图床等。获取到图片的公网URL后,你可以在Markdown中使用以下语法插入图片:

      ![图片描述](https://your-image-url)
      
    2. 使用钉钉API上传图片
      钉钉提供了API供开发者上传图片并获取图片的链接。你可以使用这些API将本地图片上传到钉钉的服务器,然后在Markdown中插入返回的图片链接。

    3. 钉钉自定义机器人
      如果你正在使用钉钉自定义机器人发送消息,可以考虑使用msgtype=image的方式发送图片消息。这种方式下,你可以直接将本地图片的二进制数据作为请求体发送给钉钉服务器。

    以下是使用钉钉API上传图片并获取链接的基本步骤(以Python为例):

    import requests
    import json
    
    def upload_image_to_dingtalk(access_token, image_path):
        url = f"https://oapi.dingtalk.com/robot/upload?access_token={access_token}&type=image"
        files = {'file': open(image_path, 'rb')}
        response = requests.post(url, files=files)
        result = json.loads(response.text)
        if result['errcode'] == 0:
            return result['media_id']
        else:
            raise Exception(f"Upload image failed: {result['errmsg']}")
    
    access_token = "your_access_token"
    image_path = "path/to/your/local/image.jpg"
    
    media_id = upload_image_to_dingtalk(access_token, image_path)
    
    # 然后在发送Markdown消息时,可以通过<img>标签引用这个media_id
    markdown_message = f"<img src='https://dingtalk.com/webapp/im/files/picture/v2/download/{media_id}'/>"
    
    2023-12-29 13:29:54
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载