我需要将*.dbf
文件从S3存储桶移至Lambda的/tmp
文件夹中以进行进一步处理。到目前为止,文件正在移动,但是文件内容已损坏,我在做什么错了?
exports.getS3Object = ( bucket, key ) => {
return S3Client.getObject( {
Bucket : bucket,
Key : key
} )
.promise( )
.then( file => {
console.log( 'File loading ', key );
if ( ! fs.existsSync( '/tmp' ) ) {
fs.mkdirSync( '/tmp' );
}
fs.writeFileSync( '/tmp/' + key, file.Body.toString( 'utf8' ), ( error ) => {
throw error;
} );
return '/tmp/' + key;
} )
.catch( error => {
// file not found
return error;
} );
};
答案 0 :(得分:-1)
您的dbf
文件可能未编码为utf8
字符串。调用base64
时尝试binary
或file.Body.toString
编码。