本文介绍图像搜索服务.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)
{
DefaultProfile profile = DefaultProfile.GetProfile("<region>", "<your-access-key-id>", "<your-access-key-secret>");
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);
}
}
}