我正在从设备接收视频字节,它应该是一个多部分请求。 它是在node.js中创建的post api。 如何在node.js中的post api中接收多部分请求。 以下是当前正在保存视频字节的代码。

app.js
app.post('/saveVideo',service.saveVideo);

routes.js(class service method saveVideo)
var video_byte_string = req.param('videoByteStr');
var writeStream = gfs.createWriteStream({mode:'w',content_type: 'video/mov'});
var buffer = new Buffer(video_byte_string).toString('base64');
var response = streamifier.createReadStream(buffer).pipe(writeStream);

#1楼 票数:0

您需要在视频再见字符串之后添加分隔符,如下所示

如果字节字符串是-'abcdefghijklmnopqrstuvwxyz';

那么您需要像这样附加任何分隔符(#####)以标识完整字符串的结尾

现在您的请求字符串将像这样-'abcdefghijklmnopqrstuvwxyz'+'#####';

现在,您的请求字符串具有结尾分隔符(#####),从中可以识别出完整的块

var video_byte_string = req.param('videoByteStr');
isCorrectString = false;
data_stream += video_byte_string;
var n = data_stream.lastIndexOf("#####");
if (n === -1) {
    var steamArr= data_stream.split("#####");
    var completeByteString = steamArr[0];
    isCorrectString = true;
}

if(isCorrectString) {

    var writeStream = gfs.createWriteStream({mode:'w',content_type: 'video/mov'});
    var buffer = new Buffer(completeByteString).toString('base64');
    var response = streamifier.createReadStream(buffer).pipe(writeStream);
}

谢谢

  ask by JN_newbie translate from so

未解决问题?本站智能推荐:

1回复

jQuery Ajax Post 请求未能将数据发送到 nodejs 服务器

我正在创建一个视频流网站,让后端了解视频的播放状态。 但是,当我尝试使用 ajax 请求发送数据时,它在后端显示为一个空对象{} : 客户端代码 服务器端: 我已经尝试将数据放入data引用中,这也将undefined作为服务器上的输出,并设置了不允许的内容长度。 我还设置了 Access
2回复

从客户端(AngularJS)将图像发送到Node.js服务器

我有一个非常快速的问题: 我有一个img标签(在我的模板文件中),其中包含一个图像,并且在我的Angular Controller中,我称之为: 我想将此图像^发送到后端(我正在使用REST)。 我将用于此POST方法的url是:'/ api / v1 / images / ad
2回复

如何将查询从Node.js服务器发送到开放数据服务器?

我正在使用开放数据: https : //data.sfgov.org/Economy-and-Community/Mobile-Food-Facility-Permit/rqzj-sfat 开放数据站点允许查询数据,查询示例如下: https : //soda.demo.socrata.
3回复

Javascript客户端在POST请求中发送正文,但node.js服务器将其清空

我希望能够在服务器控制台中看到{“ content”:“ test data”}(应该作为POST请求的主体从客户端发送),我得到: 这是我的客户,这只是一个启动他的onclick函数的按钮: 这是服务器。 如果有人尝试复制它,则需要安装“ express”库。
1回复

Http Request无法在Node.js服务器中立即发送响应

我将JSON请求一一发送到nodejs服务器。 在第6次请求后,服务器无法立即回复客户端,这会花费一会儿时间(15秒或更长时间再发送给我答复200 ok),这是将json值写入MongoDB的原因,而时间对于就REST通话而言。 在这种情况下如何找到错误? (哪种工具或脚本代码可以帮助我?
1回复

Flutter:将多部分请求发送到Node.js服务器API

我有一个Flutter应用,用户可以在其中填写表格并添加图片(最多5张)。 我想通过API将完整的数据发送到我的node.js服务器。 这是我的颤动代码: 在我的Node.js应用程序上,执行以下操作: 问题出在我的API调用中,我确实获得了名字和姓氏并将其保存,但是我没
2回复

将 json 发送到服务器节点

这是我使用 axios 在 post 中发送准备好的 json 的代码。 const axios = require("axios"); const jsonObj = { serial: '090982037439', //string sensor_type: 'ciccio
3回复

如何将对象数组中的文件发送到快递服务器?

我有一个对象数组,每个对象都包含一些字符串类型的属性和一个文件。 这是我的数组的样子: 我的目标是将整个对象数组发送到 Express Server。 在那里我会将信息保存到 Mongo 并将文件上传到 S3。 但是目前,当我在 POST 请求中发送此文件时,我无法在服务器上获取文件流,甚至当