buffer := make([]byte, maxPartSize)
for curr = 0; remaining != 0; curr += partLength {
if remaining < maxPartSize {
partLength = remaining
} else {
partLength = maxPartSize
}
nr, err := file.Read(buffer[:partLength])
if err != nil {
fmt.Println(err)
return "", err
}
defer file.Close()
if nr >0 {
completedPart, err := uploadPart(svc, resp, buffer[:partLength], partNumber)
if err != nil {
fmt.Println("=========================",err.Error())
err := abortMultipartUpload(svc, resp)
if err != nil {
fmt.Println(err.Error())
}
return "", err
}
remaining -= partLength
partNumber++
completedParts = append(completedParts, completedPart)
}
}