2025-10-11 18:25:59 +08:00

48 lines
1.8 KiB
C#

using RestSharp;
using System.Threading.Tasks;
namespace XiaoZhiSharp.Services
{
public class ImageStorageService : IImageStorageService
{
public async Task<string> PostImage(string apiUrl, string token, string deviceId, string clientId, byte[] imageData, string question = "这个是什么?")
{
var client = new RestClient(apiUrl);
var request = new RestRequest("", Method.Post);
// 添加请求头和图像数据
request.AddHeader("Device-Id", deviceId);
request.AddHeader("Client-Id", clientId);
if(!string.IsNullOrEmpty(token))
request.AddHeader("Authorization", $"Bearer {token}");
request.AddHeader("Content-Type", "multipart/form-data");
request.AddParameter("question", question);
//request.AlwaysMultipartFormData = true;
request.AddFile("file", imageData, "camera.jpg", "image/jpeg");
// 发送请求并获取响应
var response = await client.ExecuteAsync(request);
return response.Content;
}
public async Task<string> BaiduImage(string deviceId)
{
var client = new RestClient("https://coze.nbee.net/image-classify/v1/");
var request = new RestRequest("baidu?id="+deviceId, Method.Get);
var response = await client.ExecuteAsync(request);
return response.Content;
}
public async Task<string> XiaoZhiImage(string deviceId)
{
var client = new RestClient("https://coze.nbee.net/image-classify/v1/");
var request = new RestRequest("xiaozhi?id=" + deviceId, Method.Get);
var response = await client.ExecuteAsync(request);
return response.Content;
}
}
}