nodejs服务器中如何下载上传的文件
How to download the file uploaded in the nodejs server
我正在 node.js 服务器上载文件。下面是它的代码。
var formData = new FormData();
formData.append('part1', fs.createReadStream(file1));
formData.append('part2', fs.createReadStream(file2));
formData.submit({
host: 'xyz',
port: 4354,
path: '/handler',
method: 'POST',
headers: {
'Content-Type': 'multipart/mixed; boundary=' + formData.getBoundary()
}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
// Success case
} else {
// Failure case
}
});
现在,如何在 perl 服务器中下载该文件???
尝试了 HTTP::Response 的 decode_content() 方法。它正在记录如下响应。下面我没有找到任何更简单的下载文件的方法。
----------------------------401882132761579819223727^M
Content-Disposition: form-data; name="fileContent"; filename="filepath"^M
Content-Type: application/octet-stream^M
^M
FileContent FileContent FileContent FileContentFileContentFileContent
FileContentFileContentFileContentFileContentFileContentFileContentFileContent
FileContentFileContentFileContentFileContentFileContentFileContentFileContent
----------------------------401882132761579819223727--^M
使用 PerlMIME::Parser 解决了这个问题
my $request = $r->as_string //$r is the HTTP::Request object
$request =~ s/^[^\n]*\n//s;
my $parser = MIME::Parser->new();
$parser->output_to_core(1);
my $ent = $parser->parse_data();
my $part1 = $ent->parts(0); // First file
my $filename1 = $part1->head->recommended_filename
my $content1 = $part1->bodyhandle->as_string
my $part2 = $ent->parts(1); // Second file
my $filename1 = $part2->head->recommended_filename
my $content1 = $part2->bodyhandle->as_string
$part1 和 $part2 将是 MIME::Entity 对象类型,并根据我的要求使用合适的方法来读取它们的内容。
我正在 node.js 服务器上载文件。下面是它的代码。
var formData = new FormData();
formData.append('part1', fs.createReadStream(file1));
formData.append('part2', fs.createReadStream(file2));
formData.submit({
host: 'xyz',
port: 4354,
path: '/handler',
method: 'POST',
headers: {
'Content-Type': 'multipart/mixed; boundary=' + formData.getBoundary()
}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
// Success case
} else {
// Failure case
}
});
现在,如何在 perl 服务器中下载该文件???
尝试了 HTTP::Response 的 decode_content() 方法。它正在记录如下响应。下面我没有找到任何更简单的下载文件的方法。
----------------------------401882132761579819223727^M
Content-Disposition: form-data; name="fileContent"; filename="filepath"^M
Content-Type: application/octet-stream^M
^M
FileContent FileContent FileContent FileContentFileContentFileContent
FileContentFileContentFileContentFileContentFileContentFileContentFileContent
FileContentFileContentFileContentFileContentFileContentFileContentFileContent
----------------------------401882132761579819223727--^M
使用 PerlMIME::Parser 解决了这个问题
my $request = $r->as_string //$r is the HTTP::Request object
$request =~ s/^[^\n]*\n//s;
my $parser = MIME::Parser->new();
$parser->output_to_core(1);
my $ent = $parser->parse_data();
my $part1 = $ent->parts(0); // First file
my $filename1 = $part1->head->recommended_filename
my $content1 = $part1->bodyhandle->as_string
my $part2 = $ent->parts(1); // Second file
my $filename1 = $part2->head->recommended_filename
my $content1 = $part2->bodyhandle->as_string
$part1 和 $part2 将是 MIME::Entity 对象类型,并根据我的要求使用合适的方法来读取它们的内容。