Я загружаю видео с выборкой
const formData = new FormData();
formData.append('name', asset.name);
formData.append('file', asset.file);
fetch(generateUrl(`/asset/video?token=${getState().server.token}`), {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) return response.json().then(error => { throw new Error(error.message) });
return response.json()
})
.catch(err => console.error(err))
Я получаю файл из ссылки ref this.fileInput = React.createRef()
, значение файла this.fileInput.current.files[0]
, поэтому asset.file === this.fileInput.current.files[0]
Затем Я загружаю его на свой сервер
const multer = require('multer');
const upload = multer({})
const router = express.Router();
router.post('/video', upload.single('file'), dataProvider.security.middleware('post_asset'), (req, res, next) => {
fs.writeFileSync('test.mp4', req.file.buffer);
})
Но у меня есть проблема где-то в передаче, и я не могу ее идентифицировать.
Созданный файл test.mp4
поврежден, исходный файл 540KB и test.mp4
750KB
С const upload = multer ({dest: '/ Users / ajouve / Downloads /'}) у меня также есть файл 750KB и поврежден
Content-Length
заголовок 540240
, поэтому отправляемый контент должен быть в порядке