export const getThumbnailApi = (workflowName: string, version: string, data) =>
request.post(`/api/workflow-def/${workflowName}/versions/${version}/thumbnail`, data, {
headers: {
'Content-Type': 'multipart/form-data',
},
})
const getThumbnail = async (name: string, v: string) => {
try {
const container = document.getElementById('drawerContainer');
if (!container) throw new Error('没找到 container');
// DOM 转 canvas
const canvas = await html2canvas(container, { backgroundColor: 'white', scale: 1 });
// canvas 转 Blob
const blob = await new Promise<Blob>((resolve) => {
canvas.toBlob(resolve, 'image/jpeg', 0.9); // 用 JPEG
});
// Blob 转 File
const file = new File([blob], 'thumbnail.jpg', { type: 'image/jpeg' });
// FormData
const formData = new FormData();
formData.append('file', file); // 字段名用 file,通用点
// 发请求
const response = await getThumbnailApi(name, v, formData);
console.log('上传成功:', response);
} catch (error) {
console.error('出错了:', error);
}
};