Golang : Convert an image file to []byte
This is a quick tutorial on how to convert an image file to byte array. This question was originally posted to me via email at admin@socketloop.com by Mr. Aung.
Basically, Mr. Aung would like to know how to turn an image file into a byte array ( []byte )
and the answer is :
fileToBeUploaded := "image.jpg"
file, err := os.Open(fileToBeUploaded)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer file.Close()
fileInfo, _ := file.Stat()
var size int64 = fileInfo.Size()
bytes := make([]byte, size)
// read file into bytes
buffer := bufio.NewReader(file)
_, err = buffer.Read(bytes) // <--------------- here!
// then we need to determine the file type
// see https://www.socketloop.com/tutorials/golang-how-to-verify-uploaded-file-is-image-or-allowed-file-types
filetype := http.DetectContentType(bytes)
err = bucket.Put(path, bytes, filetype, s3.ACL("public-read"))
the code fragment is taken from https://www.socketloop.com/tutorials/golang-upload-and-download-file-to-from-aws-s3
See also : Golang : Upload and download file to/from AWS S3
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+6.6k Golang : Gorrila set route name and get the current route name
+30.5k Golang : Copy directory - including sub-directories and files
+5.3k Golang : Handling image beyond OpenCV video capture boundary
+4.2k Golang : Qt update UI elements with core.QCoreApplication_ProcessEvents
+37.8k Golang : How to iterate over a []string(array)
+9.3k JavaScript/JQuery : Detect or intercept enter key pressed example
+15.6k Golang : Capture stdout of a child process and act according to the result
+12.5k Golang : Compress and decompress file with compress/flate example
+6.3k Golang : Dealing with struct's private part
+4.4k PHP : Fix Call to undefined function curl_init() error
+10k How to test Facebook App on localhost ?
+3.9k Golang : Get a list of crosses(instruments) available to trade from Oanda account