0

Node ファイルストリームの使い方を学ぼうとしている間に、リモート サーバーから画像を取得してディスクに保存するテスト アプリをいくつか作成しました。問題は、一部のテスト イメージは正常にダウンロードされましたが、他のイメージは奇妙な方法でエラーを返さずに失敗し、100 kB 以上のイメージを 400 ~ 460 バイトしか書き込みませんでした。ここでは、nautilus が左側にダウンロードの成功を示し、右側にエラーをスローしなかった部分ダウンロードの失敗を示しています。部分的なダウンロードは常に 400 ~ 460 バイトの範囲です。

左側がダウンロードの成功、右側が部分的なダウンロード

テストに使用しているサンプル コードは次のとおりです。一部の画像は正常にダウンロードされ、他の画像は部分的にダウンロードされ、エラーは発生しません:

var 
    express = require( 'express' )
,   app     = express.createServer()
,   request = require( 'request' )
,   fs      = require( 'fs' )
,   url     = 'http://static.designspiration.net/data/assets/012311-010912AM_158289.jpg';

app.get( '/', function( req, res){
    request( url, function( err ){
        if( err ){ console.log( err ); }
    }).pipe( fs.createWriteStream( './Downloads/testimage.jpg' ) );
});

app.listen( 8083 );

誰が何が起こっているのか手がかりを持っていますか?

4

0 に答える 0