// Dependency injection registration
services.AddHttpClient<IStorageClient, PinataClient>();
// Usage
public class EvidenceService
{
private readonly IStorageClient _storage;
public EvidenceService(IStorageClient storage)
{
_storage = storage;
}
public async Task<string> StoreEvidenceAsync(byte[] imageData)
{
var result = await _storage.UploadAsync(
imageData,
"evidence.jpg",
"image/jpeg",
new Dictionary<string, string>
{
["incidentId"] = "inc-001",
["droneId"] = "drn-001"
});
return result.Cid;
}
}