Я хочу загрузить JPG по ссылке с Axios, но не удалось. Я сомневаюсь, что что-то не так с моими данными формы, я не знаю, как это проверить. Я делаю это следующим образом:
let form = new FormData();
form.append('screenshot',fs.createReadStream(`xxx.jpg`));
скриншот - это ключ, а следующий - jpg, который я хочу опубликовать. Вот мой метод публикации:
const config = { headers: { 'Content-Type': 'multipart/form-data' } };
yield axios.post(url,form,config).then....catch....
Я успешно загрузил jpg через почтальона:
Как я могу сделать то же самое с NodeJS в VScode?
Сообщение об ошибке очень длинное, но главное. должны быть данные ответа: {error: 'Multipart: Граница не найдена'}.
Вот некоторые данные сервера:
const upload = multer({
//dest: 'screenshots',
limits: {
fileSize: 2000000 //number in bytes
},
fileFilter(req, file, cb) {
if (!file.originalname.match(/\.(png|jpg|jpeg)$/)) {
return cb(new Error('File must be of png/jpg/jpeg type.'))
}
cb(undefined, true)
}
router.post('/upload/:id/screenshot', findCasebyID, upload.single('screenshot'), async (req, res) => {
try {
req.case.screenshot = req.file.buffer
await req.case.save()
res.send()
} catch (e) {
res.status(409).send(e)
}...