本文介绍图像搜索服务.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);
        }
    }
}