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 );
誰が何が起こっているのか手がかりを持っていますか?