我將 nuxt3/node.js 與multer一起使用,我無法在我的服務器中存盤或接收檔案,也無法在 root 中看到 req.file,它一直是空的。服務器代碼:
const upload = multer({ dest: './uploads/' })
router.post('/sendNewQuestionCSV', upload.single('csv'),adminControler.sendNewQuestionCSV.bind(adminControler))
和我的 nuxt3 前端代碼:
async function fileSelected(e) {
let formData = new FormData();
formData.append("csv", e.target.files[0]);
const res = await $postFetch("/admin/sendNewQuestionCSV", formData, {
"Content-Type": "multipart/form-data",
});
}
注意:$postFetch 是我自己使用 fetch 的一種方法,第三個引數是“headers”。它是一個 nuxt3 插件
這個插件代碼:
export default defineNuxtPlugin(async () => {
return {
provide: {
postFetch: async (url, body,headers={}) => {
let token = useCookie('token');
return await $fetch(url, {
method: 'post',
body: { token: token.value, ...body },
baseURL: useRuntimeConfig().API_BASE,
...headers
}).catch((error) => error.data)
}
}
}
})
uj5u.com熱心網友回復:
嘗試使用.append添加token:
postFetch: async (url, body,headers={}) => {
let token = useCookie('token');
body.append('token', token.value);
return await $fetch(url, {
method: 'post',
body: body,
baseURL: useRuntimeConfig().API_BASE
}).catch((error) => error.data)
}
編輯
也嘗試洗掉headers
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486815.html
上一篇:使用Vue.js過濾物件
