How can I upload a video to JW Player Dashboard? I need to use their fetch API.
This is what I did so far:
const express = require('express');
const multer = require('multer');
const cors = require('cors');
const app = express();
const port = 5000;
app.use(cors());
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public');
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname);
},
});
const upload = multer({ storage: storage }).single('file');
app.post('/upload', function (req, res) {
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
return res.status(500).json(err);
} else if (err) {
return res.status(500).json(err);
}
return res.status(200).send(req.file);
});
});
const JWPlatformAPI = require('jwplatform');
const jwApiInstance = new JWPlatformAPI({
apiKey: 'FWWPXWdI',
apiSecret: 'NvP2YCo5iXTqGQOKhWnOQ7aE',
});
const filePath = './public/test.mp4';
jwApiInstance
.upload(
{
title: 'My new video!',
method: 'fetch', // fetch method option
},
filePath
)
.then((resp) => {
console.log(resp);
})
.catch((e) => console.warn(e));
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
I need to upload a video file and then retrieve it in order to display it on my front end.