diff --git a/weed/server/volume_grpc_copy.go b/weed/server/volume_grpc_copy.go index 818123bf4..9df9f3149 100644 --- a/weed/server/volume_grpc_copy.go +++ b/weed/server/volume_grpc_copy.go @@ -6,7 +6,6 @@ import ( "io" "math" "os" - "path" "time" "github.com/chrislusf/seaweedfs/weed/glog" @@ -226,7 +225,7 @@ func (vs *VolumeServer) CopyFile(req *volume_server_pb.CopyFileRequest, stream v } else { baseFileName := erasure_coding.EcShardBaseFileName(req.Collection, int(req.VolumeId)) + req.Ext for _, location := range vs.store.Locations { - tName := path.Join(location.Directory, baseFileName) + tName := util.PathJoin(location.Directory, baseFileName) if util.FileExists(tName) { fileName = tName } diff --git a/weed/util/fullpath.go b/weed/util/fullpath.go index 7f7a77734..413ee27bf 100644 --- a/weed/util/fullpath.go +++ b/weed/util/fullpath.go @@ -46,3 +46,7 @@ func (fp FullPath) Split() []string { } return strings.Split(string(fp)[1:], "/") } + +func PathJoin(dir, name string) string { + return filepath.ToSlash(filepath.Join(dir, name)) +} \ No newline at end of file