修復使用 fetch 和 multipart/form-data 上傳文件的問題
我有一個表單,該表單接受一個文件和一些字段,我希望通過 Fetch API 將這些數據發送到服務器,就像這樣(React 代碼): <form encType='multipart/form-data' action='/api/post' method='POST' onSubmit={async (e) => { e.preventDefault() if (!title) { alert('請輸入標題') return } if (!content && !image) { alert('請在帖子中輸入一些文本') return } const body = new FormData() body.append('image', image) body.append('title', title) body.append('content', content) const res = await fetch('/api/post', { body, method: 'POST', headers: { 'Content-Type': 'multipart/form-data', }, }) }} > ... </form> 我遇到了一個問題,文件數據實際上沒有被發送到服務器。 解決方案是這樣的:不能設置標頭。 我確實設置了 multipart/form-data 標頭,因為這是用於文件上傳的,但顯然這正是破壞了通過 fetch 上傳文件的原因。 從 fetch 請求中刪除標頭,然後事情應該能正常運作。