我正在使用请求将 HTTP 流通过管道传输到本地地理空间文件处理实用程序 ogr2ogr:
httpStream.on('response', function(response) {
var ogr = ogr2ogr(response)
.skipfailures()
.options(['-t_srs', 'EPSG:4326']);
但是,如果我收到的文件太大,我想中止:
response.on('data', function (chunk) {
len += chunk.length;
if (!abort && len > convert.maxConversionSize) {
tooBigError(request, res);
abort = true;
httpStream.abort();
// response.destroy(); //??
}
打电话httpStream.abort()
够吗?ogr2ogr 进程到底发生了什么?它是挂着的吗?确保它被清理并且不会在某处留下半满的内存缓冲区的正确方法是什么?