我有一个jpeg作为base64编码的字符串.
var image = "/9j/4AAQSkZJRgABAQEAS..."
Run Code Online (Sandbox Code Playgroud)
我想使用FormData将此jpeg上传到服务器.
var data = new FormData();
Run Code Online (Sandbox Code Playgroud)
将图像附加到数据的正确方法是什么?
我在内存(缓冲区)中有一个文件 - 文件系统上没有文件。我想将该缓冲区发送到另一个使用 HTTP 协议的服务器。
例如,某些 API A在内存中创建一个文件,SignServer操作此类文件,并使用新的缓冲区进行响应。我的 API 从A获取文件并将其提供给 SignServer。
我尝试以多种方式将文件发送到 SignServer,但它一直以状态 400 进行响应(请求中缺少字段“数据”)。
我尝试过的:
var http = require('http');
var querystring = require('querystring');
var data = querystring.stringify({
workerName: 'PDFSigner',
data: file_buffer
});
var request = new http.ClientRequest({
hostname: 'localhost',
port: 8080,
path: '/signserver/process',
method: 'GET',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
// I also tried 'multipart/form-data'
'Content-Length': Buffer.byteLength(data)
}
});
request.end(data);
Run Code Online (Sandbox Code Playgroud)
我尝试打印data,结果显示:
工人名称=PDFSigner&data=
这很糟糕,因为data没有设置为file_buffer. 我尝试 print file_buffer,它确实有内容(不为空,不为未定义,实际上里面有字节)。因此,对缓冲区进行字符串化会得到一个空字符串。
我尝试对请求模块执行相同的操作,但它也不起作用。 …