30 lines
586 B
Go
30 lines
586 B
Go
package utils
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
// SendFile Envoie d'un fichier local sur le réseau
|
|
func SendFile(fileName string, fileSize int, writer *bufio.Writer) bool {
|
|
// Ouverture du fichier
|
|
file, fileErr := os.Open(fmt.Sprintf("/home/benjamin/sbe/%s", fileName))
|
|
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 false
|
|
}
|