将Blob或URL转换为图片文件以进行表单数据上传的方法。
示例代码(使用fetch API):
const formData = new FormData(); const fileInput = document.querySelector('input[type="file"]'); const urlInput = document.querySelector('input[type="url"]');
if (fileInput.files[0]) { formData.append('image', fileInput.files[0]); } else if (urlInput.value) { const response = await fetch(urlInput.value); const blob = await response.blob(); formData.append('image', blob, 'image.jpg'); }
fetch('/upload', { method: 'POST', body: formData }).then(response => { console.log(response); });
在上面的示例代码中,如果用户选择了文件,则直接将文件添加到formData。如果用户提供了一个URL,则使用fetch API获取图像并将其转换为Blob,然后将Blob添加到formData中。最后,使用fetch API将formData发送到服务器端进行上传。
上一篇:blob链接被阻止