本主题所有内容以软认知服务为技术基础
关于微软人脸识别,请参阅
本节内容请先参阅微软认知服务人脸API接口列表
##简单的文件处理
你应该注意到了,我们这个应用需要进行图片流的处理,进行本地存储读写,所以我们还是有必要封装一个FileHelper来实现,当然网上有很多开源的优秀代码,我只是简单的写了一个Helper
我们的总体文件存储目录在配置文件中定义
private static string photofolder = System.Configuration.ConfigurationManager.AppSettings["ProjecToxfordPhotos"];
我们提供两种读取文件的方法
从存储中读取文件
public static async Task<byte[]> ReadAsync(string fileName)
{
var filePath = Path.Combine(photofolder, fileName);
var fs = File.OpenRead(filePath);
int filelength = (int)fs.Length;
var image = new Byte[filelength];
await fs.ReadAsync(image, 0, filelength);
fs.Close();
return image;
}
从流中读取文件
public static async Task<byte[]> ReadAsync(Stream stream)
{
var result = new byte[(int)stream.Length];
await stream.ReadAsync(result, 0, (int)stream.Length);
stream.Close();
return result;
}
当然还有保存文件的方法
public static void SaveFile(byte[] content, string fileName)
{
var filePath = Path.Combine(photofolder, fileName);
FileStream fs = new FileStream(filePath, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(content);
bw.Close();
fs.Close();
}
是的,我们还需要删除的方法,当用户从微信端上传的照片我们从微信服务器下载后发现从该照片中无法有效的辨识出Face,我们需要将其从文件服务器中删除。
public static void Delete(string fileName)
{
var filePath = Path.Combine(photofolder, fileName);
File.Delete(filePath);
}