本文介紹Image Search服務.Net SDK的使用方法及樣本。
準備工作
- 在安裝和使用阿里雲SDK前,確保您已經註冊阿里雲帳號並產生存取金鑰(AccessKey)。詳情請參見t1938336.html#task968。
- 安裝.NET SDK核心庫。
- 使用依賴包工具安裝(推薦)。
您可以通過NuGet封裝管理員來安裝,在方案總管面板中,按右鍵您的專案選擇管理NuGet程式包菜單,在開啟的NuGet管理面板中單擊瀏覽選項卡輸入aliyun-net-sdk-core,選擇並單擊安裝即可。
- 或通過.NET CLI工具來安裝核心庫。
dotnet add package aliyun-net-sdk-core - 自行下載安裝。
您可以使用
git clone或其它手段下載aliyun-net-sdk-core並自行添加解決方案。
- 使用依賴包工具安裝(推薦)。
- 安裝Image Search.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);
}
}
}