在微信公众号对接过程中,会存在添加域名校验的问题,微信要求下载相关txt到要目录来验证,但是这些文件文件名不一致,随机的,内容也是随机值,但是和文件名有一定关系,如果牵扯到经常要验证的,来回传文件比较麻烦,如果给用户自己上传文件的权限又不安全,于是就通过miniAPI来实现。
实现思路:拦截到MP_verify_开头的txt文件,截图后面部分,判断目录中存在不存在,存在则返回目录文件,不存在则创建文件,并将内容写入。
具体代码如下:
//微信公众号文件验证
app.MapGet("/MP_verify_{fileName}.txt", (HttpContext context, string fileName) => {
var filePath = Path.Combine(AppContext.BaseDirectory,String.Format(@"MP_verify_{0}.txt",fileName));
FileInfo fileInfo = new FileInfo(filePath);
if (!fileInfo.Exists)
{
File.AppendAllText(filePath, fileName);
}
return Results.File(filePath);
});
通过以上代码即可模拟微信服务器文件请求验证,亲测可用!