0
일반적으로 restler.post()는 restler.file (...) 객체를 사용하여 POST를 전송합니다. 이 작업은 서버에 파일 경로가있는 경우 작동합니다. 예를 들어클라이언트에서 restler.file 파일을 보낼 수 있습니까?
:
//#############################################################################
// Video upload from file system on node console server
//#############################################################################
function(done){
var fileStats = fs.statSync(videoFileName);
var fileSizeInBytes = fileStats["size"];
var data = {
'name': objectVideoName,
'type':'video',
'content': 'application/mp4',
'file': restler.file(videoFileName, null, fileSizeInBytes, null, "video")
};
restler.post('https://api.astra.io/v0/bucket/'+bucketName+'/object', {
multipart: true,
data : data,
headers : { "Astra-Secret": astraSecret }
}).on('complete', function(response) {
console.log('Upload video to bucket: \n', response);
done(null);
});
},
어떻게 서버에 저장하지 않고 직접 클라이언트에서 파일을 게시 할 수 있습니까?
나는 busboy와 함께 노력하고 있습니다. 데이터 옵션을 만들 수 있도록 restler
보낸 두 도우미 기능
//#############################################################################
// Video upload from client then POST to cdn
//#############################################################################
app.post('/addVideo', function (req, res) {
var video = {};
var busboy = new Busboy({headers: req.headers});
busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
var ext = mimetype.split('/').pop();
var token = generateToken(crypto);
var fileSizeInBytes = 900000;
filename = token + ext;
var videoName = filename;
var bucketName = 'sampleVideos';
var data = {
'name': videoName,
'type':'video',
'content': 'application/mp4',
'file': ***** WHAT GOES HERE ******
};
restler.post('https://api.astra.io/v0/bucket/'+bucketName+'/object', {
multipart: true,
data : data,
headers : { "Astra-Secret": astraSecret }
}).on('complete', function(response) {
console.log('Upload video to bucket: \n', response);
res.send("200");
});
});
busboy.on('field', function (fieldname, val, fieldnameTruncated, valTruncated) {
video[fieldname] = val;
});
busboy.on('finish', function() {
console.log('busboy finished');
});
req.pipe(busboy);
});
문제는 이미 그것을 포함합니다. 문제는 버스 정류장에서 대기업으로 보내는 방법입니다. –
아니요, JS 객체 리터럴을 사용합니다. 나는 대답을 명확하게하기 위해 대답을 업데이트 할 것이다. –
나는 그것을 밖으로 시도 할 것이다. –