@ deliverart/ sdk- js- 图像
交付艺术JavaScript SDK的图像管理包.
安装
npm install @deliverart/sdk-js-image @deliverart/sdk-js-core
导出类型
核心类型
Image- 图像元数据ImageDetails- 有 URL 的扩展图像
IRI 类型
ImageIri- 图像IRI(/images/:id(中文(简体) )
可用请求
获取图像
获取带有过滤器的图像列表 .
import { GetImages } from '@deliverart/sdk-js-image';
const images = await sdk.call(new GetImages({
query: {
company: '/companies/123',
page: 1
}
}));
查询参数:
company?: string- 按公司过滤page?: number- 页号
回应: Paginated<Image>
获取图像细节
获取特定图像的详细信息.
import { GetImageDetails } from '@deliverart/sdk-js-image';
const image = await sdk.call(new GetImageDetails('image-123'));
参数:
imageId: string(必须)
回应: ImageDetails
删除图像
删除图像.
import { DeleteImage } from '@deliverart/sdk-js-image';
await sdk.call(new DeleteImage('image-123'));
参数:
imageId: string(必须)
回应: void
上传图像
图像上传一般使用多段/形式数据. 示例
import { AbstractApiRequest } from '@deliverart/sdk-js-core';
import { z } from 'zod';
// Custom upload request (if not provided by the package)
class UploadImage extends AbstractApiRequest<
typeof z.instanceof(FormData),
typeof imageResponseSchema
> {
readonly method = 'POST';
readonly contentType = 'multipart/form-data';
readonly accept = 'application/json';
readonly inputSchema = z.instanceof(FormData);
readonly outputSchema = imageResponseSchema;
constructor(formData: FormData) {
super(formData);
}
getPath(): string {
return '/images';
}
}
// Usage
const formData = new FormData();
formData.append('file', fileBlob, 'image.jpg');
formData.append('company', '/companies/123');
const image = await sdk.call(new UploadImage(formData));
完成使用示例
import { sdk } from './lib/sdk';
import { GetImages, DeleteImage } from '@deliverart/sdk-js-image';
async function imageManagement() {
// Get all company images
const images = await sdk.call(new GetImages({
query: {
company: '/companies/123'
}
}));
console.log(`Found ${images.pagination.totalItems} images`);
// Delete old images
for (const image of images.data) {
if (shouldDelete(image)) {
await sdk.call(new DeleteImage(image.id));
}
}
}
许可证
麻省理工学院