From 0607514b3bc16b8ee18fe291a6f1ecd2678c7cff Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Fri, 12 Apr 2019 21:09:06 -0700 Subject: [PATCH] starting to work --- src/cli/cli.go | 4 +++- src/webrtc/pkg/session/receiver/receiver.go | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/cli/cli.go b/src/cli/cli.go index 0abc9f78..4e3f432f 100644 --- a/src/cli/cli.go +++ b/src/cli/cli.go @@ -121,6 +121,7 @@ func send(c *cli.Context) (err error) { sharedSecret = utils.GetRandomName() } + haveFolder := false paths := []string{} for _, fname := range fnames { stat, err := os.Stat(fname) @@ -128,6 +129,7 @@ func send(c *cli.Context) (err error) { return err } if stat.IsDir() { + haveFolder = true err = filepath.Walk(fname, func(pathName string, info os.FileInfo, err error) error { if err != nil { @@ -159,7 +161,7 @@ func send(c *cli.Context) (err error) { err = cr.Send(croc.TransferOptions{ PathToFiles: paths, - KeepPathInRemote: false, // TODO: add options to change this + KeepPathInRemote: haveFolder, }) return diff --git a/src/webrtc/pkg/session/receiver/receiver.go b/src/webrtc/pkg/session/receiver/receiver.go index 88d21a49..79e64458 100644 --- a/src/webrtc/pkg/session/receiver/receiver.go +++ b/src/webrtc/pkg/session/receiver/receiver.go @@ -147,6 +147,12 @@ func (s *Session) receiveData(pathToFile string, fileSize int64) error { log.Debugln("Starting to receive data...") log.Debugf("receiving %s", pathToFile) + folderForFile, _ := filepath.Split(pathToFile) + err := os.MkdirAll(folderForFile, os.ModePerm) + if err != nil { + return err + } + // truncate if nessecary var f *os.File var errOpen error