StoreBackEnd/pkg/utils/FileSender.go

30 lines
566 B
Go
Raw Normal View History

package utils
import (
"bufio"
"fmt"
"io"
"os"
)
// SendFile Envoie d'un fichier local sur le réseau
func SendFile(filePath string, fileSize int, writer *bufio.Writer) bool {
// Ouverture du fichier
file, fileErr := os.Open(fmt.Sprintf("%s", filePath))
if fileErr != nil {
return false
}
// Fermeture du fichier anticipée (ici afin de le fermer même si copy commet une erreur)
defer file.Close()
// Lecture / Ecriture
buffer := make([]byte, 1024)
_, err := io.CopyBuffer(writer, file, buffer)
if err != nil {
return false
}
return true
}