为什么我没有收到来自 formsubmit.co 的文件附件?

问题描述 投票:0回答:1

我正在使用 webflow 构建表单,需要接收文件以及其他信息。我按照预期成功接收了电子邮件,并且根据我的日志记录,我正确发送了文件...但我收到的回复中似乎没有附加任何文件?

fetch("https://formsubmit.co/ajax/[email protected]", {
            method: "POST",
            body: formData,
            headers: {
                "Accept": "application/json"
            }
        }).then(function(response) {
            if (!response.ok) {
                throw Error(response.statusText);
            }
            return response.json(); // Parse JSON response
        }).then(function(response) {
            console.log("FormSubmit Response Data:", response); // Log the actual response data
            console.log("formData after submission: ", [...formData]); // Log formData contents
            const success = document.querySelector(".w-form-done");
            const errorElement = document.querySelector(".w-form-fail");
            success.style.display = "block";
            errorElement.style.display = "none";
            form.style.display = "none";
        }).catch(function(fetchError) {
            console.error("Error:", fetchError);
            const errorElement = document.querySelector(".w-form-fail");
            errorElement.style.display = "block";
        });
    });
});

[表单提交控制台 - 文件似乎正在按预期提交](https://i.sstatic.net/Fy7BMvQV.png)

forms
1个回答
0
投票

您无需手动设置

Content-Type

通过 fetch 发送 FormData 对象时,不应手动设置 Content-Type 标头。浏览器会自动执行此操作,包括发送文件所需的多部分/表单数据边界。如果您自己设置,文件数据可能无法正确处理,这可能是您收不到附件的原因。

确保

FormData
包含您的文件:

如果您的表单有文件输入,只需将表单引用传递给

FormData
就会自动包含该文件。除非您尝试执行特定/自定义的操作,否则无需手动附加它。


© www.soinside.com 2019 - 2024. All rights reserved.