diff --git a/fhem/contrib/DS_Starter/50_SSFile.pm b/fhem/contrib/DS_Starter/50_SSFile.pm
index 2f32656d9..81e9e9eb0 100644
--- a/fhem/contrib/DS_Starter/50_SSFile.pm
+++ b/fhem/contrib/DS_Starter/50_SSFile.pm
@@ -624,9 +624,10 @@ sub _setUpload {
$remDir =~ s/\/$//x;
- my $ow = $h->{ow} // "true"; # Überschreiben Steuerbit
- my $cdir = $h->{cdir} // "true"; # create Directory Steuerbit
- my $mode = $h->{mode} // "full"; # Uploadverfahren (full, inc, new:days)
+ my $ow = $h->{ow} // "true"; # Überschreiben Steuerbit
+ my $cdir = $h->{cdir} // "true"; # create Directory Steuerbit
+ my $mode = $h->{mode} // "full"; # Uploadverfahren (full, inc, new:days)
+ my $struc = $h->{struc} // "true"; # true: Übertragung Struktur erhaltend, false: alles landet im angegebenen Dest-Verzeichnis ohne Berücksichtigung des Quellverezchnisses
my @uld = split ",", $fp;
@@ -645,6 +646,7 @@ sub _setUpload {
$paref->{remDir} = $remDir;
$paref->{ow} = $ow;
$paref->{cdir} = $cdir;
+ $paref->{struc} = $struc;
$paref->{mode} = $mode;
my $found = exploreFiles ($paref);
@@ -676,6 +678,7 @@ sub __fillUploadQueue {
my $opt = $paref->{opt};
my $ow = $paref->{ow};
my $cdir = $paref->{cdir};
+ my $struc = $paref->{struc};
my $found = $paref->{found};
my $hash = $defs{$name};
@@ -684,7 +687,11 @@ sub __fillUploadQueue {
for my $lcf (keys %{$found}) {
my $fname = (split "\/", $lcf)[-1];
- my $dir = $remDir.$found->{"$lcf"}; # zusammengesetztes Zielverzeichnis
+ my $dir = $remDir.$found->{"$lcf"}; # zusammengesetztes Zielverzeichnis (Struktur erhaltend - default)
+
+ if($struc eq "false") { # Ziel nicht Struktur erhaltend (alle Files landen im Zielverzeichnis ohne Unterverzeichnisse)
+ $dir = $remDir;
+ }
my $dat;
$dat .= addBodyPart (qq{content-disposition: form-data; name="path"}, $dir, "first");
@@ -2285,8 +2292,8 @@ return $out;
Im Argument dest ist das Zielverzeichnis auf der Synology Diskstation anzugeben.
Der Pfad der zu übertragenden lokalen Files/Ordner kann als absoluter oder relativer Pfad zum FHEM global
modpath angegeben werden.
- In Ordnern werden die Inhalte inklusive Subordnern ausgelesen und zur Destination Struktur erhaltend übertragen.
- Unterverzeichnisse werden per default in der Destination angelegt wenn sie nicht vorhanden sind.
+ Dateien und Ordner-Inhalte werden im Standard inklusive Subordner ausgelesen und zur Destination Struktur erhaltend übertragen.
+ Unterverzeichnisse werden im Standard in der Destination angelegt wenn sie nicht vorhanden sind.
Alle angegebenen Objekte sind insgesamt in " einzuschließen.
Argumente:
@@ -2300,6 +2307,8 @@ return $out;