2017-01-20 3 views
1

Как я могу прочитать тело/содержимое файла, содержащегося в * multipart.FileHeader, в кусок байта ([] byte) в GO.Прочитать содержимое * multipart.FileHeader в [] byte

Единственное, что я получил, это чтение содержимого в кусок байтов с огромным размером, но, конечно же, я хочу получить точный размер файла. Я хочу хэш содержимого файла с md5 впоследствии.

// file is a *multipart.FileHeader gotten from http request. 
fileContent, _ := file.Open() 
var byteContainer []byte 
byteContainer = make([]byte, 1000000) 
fileContent.Read(byteContainer) 
fmt.Println(byteContainer) 

ответ

1

Попробуйте ioutil.ReadAll

https://play.golang.org/p/FUgPAZ9w2X.

В вашем случае делать;

byteContainer, err := ioutil.ReadAll(fileContent) // why the long names though? 
fmt.Printf("size:%d", len(byteContainer)) 

Вы также можете посмотреть этот пример из multipartpackage docs, https://play.golang.org/p/084tWn65-d

+0

работает отлично! Спасибо ! Длинные имена, я согласен. :) Я потратил слишком много времени на то, как правильно прочитать этот файл. – Alex

Смежные вопросы