$FilePath = 'C:\Users\Administrator\Pictures\5.jpg' // 需要发送的图片地址
$bytes = [System.IO.File]::ReadAllBytes($FilePath) // 转为byte数据
$base64_d = [System.Convert]::ToBase64String($bytes); // 转为byte64
$md5 = certutil -hashfile C:\Users\Administrator\Pictures\5.jpg md5 // 获取图片的md5值
// 由于hashfile输出太蛋疼,而我又不知道其他更好的方法,于是直接转存文件读取有用信息
$md5>D:/log.txt
$md5 = (Get-Content D:/log.txt -TotalCount 2)[-1] // 2代表截取前两行,-1代表取倒数第一行(感谢前人的博客)
// 创建一个json,再次感谢大佬们的博客
$json = @"
{
"msgtype": "image",
"image": {
"base64": "$base64_d",
"md5": "$md5"
}
}
"@
// 最后直接请求就好了
// url要换成自己机器人的地址,应该不用我多说吧
$url = "机器人地址"
Invoke-WebRequest $url -Method POST -ContentType "application/json;charset=utf-8" -Body $json
原本以为两下就能搞定的。。。
网友评论