如何将表单数据中的缓冲区发送到 SignServer?
How to send a buffer in form-data to SignServer?
我在内存中有一个文件(在缓冲区中),它在文件系统中不存在(所以我不能只传输它)。
我正在尝试使用 HTTP 将其发送到 SignServer。
以下是我的尝试方法:
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
是空的:
Status 400 - Missing file content in upload
当我尝试附加 escape(file_buffer.toString('binary'))
(如 中所建议的)时,情况是一样的。
当我尝试附加 file_buffer.toString('binary')
node.js 崩溃时说:
node: ../src/stream_base.cc:157 int node::StreamBase::Writev(const v8::FunctionCallbackInfo&): Assertion `(offset) <= (storage_size)' failed.
Aborted (core dumped)
如何在 Node.JS 中通过 HTTP (multipart/form-data) 正确发送文件(缓冲区)?
您明确需要为 data
字段设置 filename
,否则缓冲区不会作为文件上传:
form.append('data', file_buffer, { filename : 'document.pdf' });
这在此处记录(虽然不是很清楚):https://github.com/form-data/form-data#alternative-submission-methods(向下滚动到第四个示例)。
我在内存中有一个文件(在缓冲区中),它在文件系统中不存在(所以我不能只传输它)。
我正在尝试使用 HTTP 将其发送到 SignServer。
以下是我的尝试方法:
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
是空的:
Status 400 - Missing file content in upload
当我尝试附加 escape(file_buffer.toString('binary'))
(如
当我尝试附加 file_buffer.toString('binary')
node.js 崩溃时说:
node: ../src/stream_base.cc:157 int node::StreamBase::Writev(const v8::FunctionCallbackInfo&): Assertion `(offset) <= (storage_size)' failed.
Aborted (core dumped)
如何在 Node.JS 中通过 HTTP (multipart/form-data) 正确发送文件(缓冲区)?
您明确需要为 data
字段设置 filename
,否则缓冲区不会作为文件上传:
form.append('data', file_buffer, { filename : 'document.pdf' });
这在此处记录(虽然不是很清楚):https://github.com/form-data/form-data#alternative-submission-methods(向下滚动到第四个示例)。