mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2026-01-11 11:34:52 +01:00
refactor(sftp): Replace hard-coded path separators with Pfs.seperator (#993)
Unify the use of Pfs.seperator for handling file path separators to enhance cross-platform compatibility.
This commit is contained in:
@@ -36,7 +36,7 @@ class SftpReqStatus {
|
||||
late SftpWorker worker;
|
||||
final Completer? completer;
|
||||
|
||||
String get fileName => req.localPath.split('/').last;
|
||||
String get fileName => req.localPath.split(Pfs.seperator).last;
|
||||
|
||||
// status of the download
|
||||
double? progress;
|
||||
|
||||
@@ -70,7 +70,7 @@ Future<void> _download(SftpReq req, SendPort mainSendPort, SendErrorFunction sen
|
||||
mainSendPort.send(SftpWorkerStatus.sshConnectted);
|
||||
|
||||
/// Create the directory if not exists
|
||||
final dirPath = req.localPath.substring(0, req.localPath.lastIndexOf('/'));
|
||||
final dirPath = req.localPath.substring(0, req.localPath.lastIndexOf(Pfs.seperator));
|
||||
await Directory(dirPath).create(recursive: true);
|
||||
|
||||
/// Use [FileMode.write] to overwrite the file
|
||||
|
||||
@@ -123,7 +123,7 @@ class _LocalFilePageState extends ConsumerState<LocalFilePage> with AutomaticKee
|
||||
|
||||
final item = items![index];
|
||||
final file = item.$1;
|
||||
final fileName = file.path.split('/').last;
|
||||
final fileName = file.path.split(Pfs.seperator).last;
|
||||
final stat = item.$2;
|
||||
final isDir = stat.type == FileSystemEntityType.directory;
|
||||
|
||||
@@ -216,7 +216,7 @@ extension _Actions on _LocalFilePageState {
|
||||
}
|
||||
|
||||
Future<void> _showFileActionDialog(FileSystemEntity file) async {
|
||||
final fileName = file.path.split('/').lastOrNull ?? '';
|
||||
final fileName = file.path.split(Pfs.seperator).lastOrNull ?? '';
|
||||
if (isPickFile) {
|
||||
context.showRoundDialog(
|
||||
title: libL10n.file,
|
||||
@@ -308,7 +308,7 @@ extension _Actions on _LocalFilePageState {
|
||||
}
|
||||
|
||||
void _showDeleteDialog(FileSystemEntity file) {
|
||||
final fileName = file.path.split('/').last;
|
||||
final fileName = file.path.split(Pfs.seperator).last;
|
||||
context.showRoundDialog(
|
||||
title: libL10n.delete,
|
||||
child: Text(libL10n.askContinue('${libL10n.delete} $fileName')),
|
||||
|
||||
@@ -585,7 +585,11 @@ extension _Actions on _SftpPageState {
|
||||
|
||||
/// Local file dir + server id + remote path
|
||||
String _getLocalPath(String remotePath) {
|
||||
return Paths.file.joinPath(widget.args.spi.oldId).joinPath(remotePath);
|
||||
var normalizedPath = remotePath.replaceAll('/', Pfs.seperator);
|
||||
if (normalizedPath.startsWith(Pfs.seperator)) {
|
||||
normalizedPath = normalizedPath.substring(1);
|
||||
}
|
||||
return Paths.file.joinPath(widget.args.spi.id).joinPath(normalizedPath);
|
||||
}
|
||||
|
||||
/// Only return true if the path is changed
|
||||
|
||||
Reference in New Issue
Block a user