mirror of https://github.com/portainer/portainer
25 lines
560 B
Go
25 lines
560 B
Go
package filesystem
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
// WriteToFile creates a file in the filesystem storage
|
|
func WriteToFile(dst string, content []byte) error {
|
|
if err := os.MkdirAll(filepath.Dir(dst), 0744); err != nil {
|
|
return errors.Wrapf(err, "failed to create filestructure for the path %q", dst)
|
|
}
|
|
|
|
file, err := os.Create(dst)
|
|
if err != nil {
|
|
return errors.Wrapf(err, "failed to open a file %q", dst)
|
|
}
|
|
defer file.Close()
|
|
|
|
_, err = file.Write(content)
|
|
return errors.Wrapf(err, "failed to write a file %q", dst)
|
|
}
|