реагировать на выборку javascript загрузить видео nodejs мультер - PullRequest
0 голосов
/ 24 апреля 2020

Я загружаю видео с выборкой

    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, поэтому отправляемый контент должен быть в порядке

...