Я извлекаю кадры из видео с помощью ffmpeg, поскольку его функция обратного вызова возвращает путь к извлеченным кадрам в массиве.
Но ответ не возвращается к успеху ajax. Он отображается только на том же маршруте, возможно, это связано с тем, что отправляемый мной ответ имеет форму массива.
Нужна помощь в этом !!
Код---
app.post('/upload',app.upload.single('video-upl'),function(req,res){
var video_file = fs.createReadStream(req.file.path); // Storing File path
var video_String = JSON.stringify(video_file); // Converting Json into String of req.file.path
var video_res = JSON.parse(video_String); // Parsing req.file.path
var valueArray = tosplit(video_res.path); //Splitting Path in values
var filenme = req.file.originalname; // Requesting Original File name
var filnameStringify = JSON.stringify(filenme); //Stringify file original name
var filnameParse = JSON.parse(filnameStringify); //Parsing file Original name
var filename = extsplit(filnameParse); // Spliting File name from path
var finalpath = './public/class/'+valueArray[2]; // Path to Video for Extracting Images
var destpath = './public/class/'+filename[0]+'/'; //Destinaton Path to Store Images
var zipdest = './public/class/'+filename[0]; //Destination of File to be Zip
var articleid = extsplit(valueArray[2]); //For ArticleId through Video Name
try {
var process = new ffmpeg(finalpath);
process.then(function (video) {
// Callback mode
video.fnExtractFrameToJPG(destpath, {
frame_rate: 1,
number: 50,
keep_pixel_aspect_ratio : true,
keep_aspect_ratio: true,
file_name : filename[0]+'_%s'
}, function (error,files){
if (!error)
{
var fileJsonStr = JSON.stringify(files);
makeZip(zipdest,'./public/class/'+filename[0]+'.zip');
console.info(res);
res.send(fileJsonStr);
}
});
}, function (err) {
console.info('Error: ' + err);
});
}
catch (e) {
console.info(e.code);
console.info(e.msg);
}
});
- Код Ajax ---
$('#send_file').submit(function(e){
e.preventDefault();
var video_file = $('#video-upl').val();
var profilehtml = '';
$(this).ajaxSubmit
({
data: {videofile : video_file},
datatype: 'JSON',
contentType: 'application/json',
success: function(response){
for(i=0;i<=response.length;i++)
{
profilehtml += '<tr>';
profilehtml += '<td>'+response[i]+'</td>';
profilehtml += '</tr>';
}
$("#img-bind").html(profilehtml);
}
});
});
когда я загружаю видео, оно перемещается по маршруту / upload, когда я отправляю ответ, например res.send (filepath), он печатается в index.html / upload вместо index.html
Вы не обрабатываете ошибку в API. Если API выдает ошибку, вам также необходимо отправить клиенту.
я написал console.info для обработки ошибки, как вы можете видеть ...



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Что ты имеешь ввиду:
It is being displayed on the same route only?