Office Online:WOPI PutFile正在收到一个空的请求
我正在实施WOPI服务器,尝试与Office Online集成。 当WOPI客户端调用PutFile方法(保存文件)时,它发送一个空请求(req.body.length === 0)。 这是Node / Express代码:
app.post('/wopi/files/:fileId/contents', function (req, res) { console.log(req.body.length); ...
任何build议,高度赞赏。
如果您要将WOPI主机与Office Online集成,我假设您或您的公司可能已经在Microsoft的所谓Office 365云存储合作伙伴计划
如果是这样的话,那么你可以在Yammerfind他们积极的支持团队。 在那里你可以发布你的查询,这将是努力回答。
我find了答案:
在bodyParser中间件之前放置下面的中间件。 它会收集request.rawBody中的原始数据,不会干扰bodyParser。
app.use(function(req, res, next) { var data = ''; req.setEncoding('utf8'); req.on('data', function(chunk) { data += chunk; }); req.on('end', function() { req.rawBody = data; next(); }); }); app.use(express.bodyParser());
有关更多信息,请参阅此处: https : //stackoverflow.com/a/13565786/5976568
编辑:
raw-body-parser ,节点包非常好,我在我的解决scheme中使用它。
var rawBodyParser = require('raw-body-parser'); app.use(rawBodyParser());
获取原始数据:
var rawBody = req.rawBody.toString('utf8');
- 请求正文在nodejs中对于发布请求是空的
- Clojurescript使用nodejs来读取stdin
- 在MongoDB MapReduce作用域中使用部分应用的函数
- Node.js的时间复杂度/效率emitter.removeListener(event,listener)
- Ajax POST请求发送undefined到Express
- Node.js非阻塞性质
- NODE.JS如何使用node.js显示我的CSS文件夹内的名为CSS的文件夹,其中我的server.js和index.html位于文件夹之外
- 如何找出passport / node js中的last_login_date
- 为节点模块映射path,用于unit testing