2016-11-03 25 views
0

node.jsサーバにファイルをアップロードしています。以下はそのコードです。nodejsサーバにアップロードされたファイルをダウンロードするには

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()メソッド。以下のようなレスポンスを記録しています。以下では、ファイルをダウンロードする簡単な方法はありません。 MIMEを使用してこの問題を解決

----------------------------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 

答えて

0

:: Perlの

のパーサ
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 

$パート1と$その2は、タイプMIME::Entityオブジェクトであることと、その内容を読み取るために、私の要件に応じて適切な方法を使用します。

関連する問題