如何将图片 URL 地址添加到 FormData 对象
根据代码中的注释,'fileList' 是包含多个图片 URL 地址对象的数组,而不是包含多个文件对象的数组。因此,你需要首先将这些 URL 地址转换为文件对象,然后将它们添加到 'formData' 中。你可以使用 'fetch' API 和 'Blob' 构造函数来实现这一点。下面是一个示例代码:
const fileList = [
{ url: 'http://example.com/image1.jpg' },
{ url: 'http://example.com/image2.jpg' },
];
const promises = fileList.map(item =>
fetch(item.url)
.then(response => response.blob())
.then(blob => new File([blob], 'image.jpg'))
);
Promise.all(promises).then(files => {
const formData = new FormData();
files.forEach(file => {
formData.append('file', file);
});
// 在这里使用 formData
});
在上面的代码中,我们首先使用 'fetch' API 从 URL 地址获取文件的二进制数据,并使用 'blob' 方法将其转换为 'Blob' 对象。然后,我们使用 'File' 构造函数将 'Blob' 对象转换为文件对象,并将其存储在 'files' 数组中。最后,我们遍历 'files' 数组,将每个文件对象添加到 'formData' 中。现在,你就可以在 'formData' 中包含多个文件对象了。
原文地址: http://www.cveoy.top/t/topic/ntAY 著作权归作者所有。请勿转载和采集!