fix: SFTP download/upload use finish event to ensure data written
This commit is contained in:
parent
f6511010bd
commit
2915b2c689
@ -152,17 +152,21 @@ class SFTPService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
readStream.on('error', (err) => {
|
readStream.on('error', (err) => {
|
||||||
|
writeStream.destroy();
|
||||||
conn.end();
|
conn.end();
|
||||||
fs.unlink(localPath, () => {});
|
fs.unlink(localPath, () => {});
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
writeStream.on('error', (err) => {
|
writeStream.on('error', (err) => {
|
||||||
|
readStream.destroy();
|
||||||
conn.end();
|
conn.end();
|
||||||
|
fs.unlink(localPath, () => {});
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
writeStream.on('close', () => {
|
// 使用 'finish' 事件确保数据完全写入磁盘
|
||||||
|
writeStream.on('finish', () => {
|
||||||
conn.end();
|
conn.end();
|
||||||
resolve({ success: true, localPath });
|
resolve({ success: true, localPath });
|
||||||
});
|
});
|
||||||
@ -209,16 +213,19 @@ class SFTPService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
readStream.on('error', (err) => {
|
readStream.on('error', (err) => {
|
||||||
|
writeStream.destroy();
|
||||||
conn.end();
|
conn.end();
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
writeStream.on('error', (err) => {
|
writeStream.on('error', (err) => {
|
||||||
|
readStream.destroy();
|
||||||
conn.end();
|
conn.end();
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
writeStream.on('close', () => {
|
// 使用 'finish' 事件确保数据完全写入
|
||||||
|
writeStream.on('finish', () => {
|
||||||
conn.end();
|
conn.end();
|
||||||
resolve({ success: true, remotePath });
|
resolve({ success: true, remotePath });
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user