本文介绍图像搜索服务.Net SDK的使用方法及示例。
准备工作
- 在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参见创建AccessKey。
- 安装.NET SDK核心库。
- 使用依赖包工具安装(推荐)。
您可以通过NuGet程序包管理器来安装,在解决方案资源管理器面板中,右键单击您的项目选择管理NuGet程序包菜单,在打开的NuGet管理面板中单击浏览选项卡输入aliyun-net-sdk-core,选择并单击安装即可。
- 或通过.NET CLI工具来安装核心库。
dotnet add package aliyun-net-sdk-core
- 自行下载安装。
您可以使用
git clone
或其它手段下载aliyun-net-sdk-core并自行添加解决方案。
- 使用依赖包工具安装(推荐)。
- 安装图像搜索.NET SDK。
- 使用依赖包工具安装(推荐)。
您可以通过NuGet程序包管理器来安装,在解决方案资源管理器面板中,右键单击您的项目选择管理NuGet程序包菜单,在打开的NuGet管理面板中单击浏览选项卡输入aliyun-net-sdk-imagesearch,选择并单击安装即可。
- 通过.NET CLI工具来安装核心库。
dotnet add package aliyun-net-sdk-imagesearch
- 自行下载安装。
您可以使用
git clone
或其它手段下载aliyun-net-sdk-imagesearch并自行添加解决方案。
- 使用依赖包工具安装(推荐)。
代码示例
完整代码示例如下。
using System;
using System.IO;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.ImageSearch.Model.V20190325;
namespace Test
{
class Demo
{
static void Main(string[] args)
{
//阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
//强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
//本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
IDictionary environmentVariables = Environment.GetEnvironmentVariables();
string ak = "";
string sk = "";
foreach (DictionaryEntry de in environmentVariables)
{
if (de.Key.Equals("CC_AK_ENV")) {
ak = (string)de.Value;
}
if (de.Key.Equals("CC_SK_ENV"))
{
sk = (string)de.Value;
}
}
DefaultProfile profile = DefaultProfile.GetProfile("<region>", ak, sk);
profile.AddEndpoint("<region>", "<region>", "ImageSearch", "imagesearch.<region>aliyuncs.com");
IAcsClient client = new DefaultAcsClient(profile);
// 添加图片
AddImageRequest addRequest = new AddImageRequest();
addRequest.InstanceName = "demo";
addRequest.ProductId = "test";
addRequest.PicName = "test";
byte[] img = System.IO.File.ReadAllBytes("c:/demo.jpg");
string pic = Convert.ToBase64String(img);
addRequest.PicContent = pic;
AddImageResponse addResponse = client.GetAcsResponse(addRequest);
Console.WriteLine(addResponse.RequestId);
// 查询图片
SearchImageRequest searchRequest = new SearchImageRequest();
searchRequest.InstanceName = "demo";
searchRequest.Type = "searchByName";
searchRequest.ProductId = "test";
searchRequest.PicName = "test";
SearchImageResponse searchResponse = client.GetAcsResponse(searchRequest);
Console.WriteLine(searchResponse.RequestId);
// 删除图片
DeleteImageRequest deleteRequest = new DeleteImageRequest();
deleteRequest.InstanceName = "demo";
deleteRequest.ProductId = "test";
DeleteImageResponse deleteResponse = client.GetAcsResponse(deleteRequest);
Console.WriteLine(deleteResponse.RequestId);
}
}
}