首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将表单数据中的缓冲区发送到SignServer?

如何将表单数据中的缓冲区发送到SignServer?
EN

Stack Overflow用户
提问于 2017-05-11 11:07:59
回答 1查看 23.2K关注 0票数 10

我在内存中有一个文件(在缓冲区中),它不存在于文件系统中(所以我不能只是流)。

我正在尝试使用HTTP将其发送到SignServer

我就是这样做的:

代码语言:javascript
复制
var formdata = require('form-data'); var form = new formdata();

form.append('workerName', 'PDFSigner');
form.append('data', file_buffer);
// or
// escape(file_buffer.toString('binary'))
// or
// file_buffer.toString('binary') (without escaping)

var request = form.submit('http://localhost:8080/signserver/process', function(err, res) {});

当我尝试追加时,file_buffer SignServer说data是空的:

状态400 -上载中缺少文件内容

当我尝试追加escape(file_buffer.toString('binary')) (如如何在HTTP请求中发送缓冲区?中的建议)时,情况是一样的。

当我尝试追加file_buffer.toString('binary') node.js崩溃时,我会说:

节点:./src/stream_base.cc:157 int节点::StreamBase::Writev(const V 8::FunctionCallbackInfo&):断言‘(偏移) <= (storage_size)’失败。 中止(核心倾弃)

如何在Node.JS中通过HTTP (多部分/表单-数据)正确地发送文件(缓冲区)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-11 11:30:24

您需要显式地为data字段设置一个data,否则缓冲区不会被上传为一个文件:

代码语言:javascript
复制
form.append('data', file_buffer, { filename : 'document.pdf' });

这里记录了这一点(虽然不是很清楚):https://github.com/form-data/form-data#alternative-submission-methods (向下滚动到第四个示例)。

票数 51
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43913650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档