<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on GousterCloud</title>
    <link>https://wangmin362.github.io/posts/</link>
    <description>Recent content in Posts on GousterCloud</description>
    <image>
      <title>GousterCloud</title>
      <url>https://wangmin362.github.io/images/papermod-cover.png</url>
      <link>https://wangmin362.github.io/images/papermod-cover.png</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Tue, 26 Mar 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://wangmin362.github.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>通过golang手动上传图片到微信公众号</title>
      <link>https://wangmin362.github.io/posts/tools/%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99/05.%E9%80%9A%E8%BF%87golang%E6%89%8B%E5%8A%A8%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E5%88%B0%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7/</link>
      <pubDate>Tue, 26 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://wangmin362.github.io/posts/tools/%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99/05.%E9%80%9A%E8%BF%87golang%E6%89%8B%E5%8A%A8%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E5%88%B0%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7/</guid>
      <description>1 背景 平时写博客用的Markdown，但是每次想要在微信公众号上发表文章比较麻烦，因为微信公众号不支持除了mp.weixin.qq.com以外的其它域名，因此无法在微信公众号中的引用阿里云OSS中的图床
2 目标 把任意一张图片上传到微信公众号
3 微信公众号限制 微信公众平台开发概述 微信限制
3.1 Token限制 微信公众号获取Token的限制如下
公众平台以access_token为接口调用凭据，来调用接口，所有接口的调用需要先获取access_token，access_token在2小时内有效，过期需要重新获取，但1天内获取次数有限，开发者需自行存储，详见获取接口调用凭据（access_token）文档
3.2 素材限制，这里我们主要关系图片的限制 微信公众号临时素材限制如下
1、临时素材media_id是可复用的。 2、媒体文件在微信后台保存时间为3天，即3天后media_id失效。 3、上传临时素材的格式、大小限制与公众平台官网一致。 图片（image）: 10M，支持PNG\JPEG\JPG\GIF格式 语音（voice）：2M，播放长度不超过60s，支持AMR\MP3格式 视频（video）：10MB，支持MP4格式 缩略图（thumb）：64KB，支持JPG格式 4、需使用https调用本接口。 接口调用请求说明 http请求方式：POST/FORM，使用https https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&amp;type=TYPE 调用示例（使用curl命令，用FORM表单方式上传一个多媒体文件）： curl -F media=@test.jpg &amp;ldquo;</description>
    </item>
    <item>
      <title>Windows自定义后台进程并设置为开机启动</title>
      <link>https://wangmin362.github.io/posts/tools/windows/01.windows%E8%87%AA%E5%AE%9A%E4%B9%89%E5%90%8E%E5%8F%B0%E8%BF%9B%E7%A8%8B%E5%B9%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%BC%80%E6%9C%BA%E5%90%AF%E5%8A%A8/</link>
      <pubDate>Sun, 24 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://wangmin362.github.io/posts/tools/windows/01.windows%E8%87%AA%E5%AE%9A%E4%B9%89%E5%90%8E%E5%8F%B0%E8%BF%9B%E7%A8%8B%E5%B9%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%BC%80%E6%9C%BA%E5%90%AF%E5%8A%A8/</guid>
      <description>1 背景 自己开发了一个应用程序，想要再windows上后台运行，并且能够设置为开机启动。
2 目标 可以在Windows上配置任意一个可执行文件后台启动，并且设置为开机启动。
3 应用程序测试代码 测试代码非常简单，就是再运行之后，每隔三秒钟在可执行文件的同级目录的app-logs文件夹中创建文件。如果程序正常运行，那么我们就可以看到新创建的文件。
编译命令：go build -o app.exe main.go
package main import ( &amp;#34;fmt&amp;#34; &amp;#34;os&amp;#34; &amp;#34;time&amp;#34; ) func main() { dir := &amp;#34;app-logs&amp;#34; if err := os.MkdirAll(dir, os.ModePerm); err != nil { fmt.Printf(&amp;#34;%s\n&amp;#34;, err) os.Exit(1) } for { file := fmt.Sprintf(&amp;#34;.\\%s\\app测试_%s.txt&amp;#34;, dir, time.Now().Format(&amp;#34;2006.01.02_15_04_05&amp;#34;)) _, err := os.Create(file) if err != nil { os.Exit(1) } time.Sleep(3 * time.Second) } } 4 解决方案 4.1 方案一 使用sc命令注册服务（不推荐） 4.1.1 相关命令 ⚠注意：这些命令的执行需要以管理员的方式打开CMD</description>
    </item>
  </channel>
</rss>
