創建異步 thunk:
這是我的節點 js api 路由
router.post('/', upload.single('image'), protect, setAd)
這是我的反應 js 代碼
export const sellBike = (bikeData) => API.post("/", bikeData);
我的反應 js api
const API = axios.create({baseURL:"http://localhost:8000"});
uj5u.com熱心網友回復:
通常為了在 nodejs 上上傳照片,他們使用multer包。您可以在其檔案中查看所有詳細資訊。此外,您應該在請求的標頭上設定multipart/form-data。這是鏈接
我想您可以在閱讀這些鏈接后在后端上傳照片
uj5u.com熱心網友回復:
我的專案中的示例:
- 將 img 轉換為字串
img.toDataURL()
- 發到后臺
const saveAvatar = () => axios.post<string[]>(
http://${DOMAIN}/profile/saveAvatar/${id}
, { avatar } );
采取并保存
profile.post('/saveAvatar/:id', async (req, res) => { try { const { id } = req.params; const { avatar } = req.body; const data = avatar.replace(/^ data:image/\w ;base64,/, ""); const buf = Buffer.from(data, 'base64');
const login = await pool.query( "SELECT login FROM accounts WHERE id = $1", [id] ); fs.writeFile(`${userImgPath}/app_data/images/users/${login.rows[0].login}.png`,
buf, (err) => { if (err) throw err; console.log('檔案已保存!'); }); } catch (err: any) { console.error(err.message); } });
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/506971.html