diff --git a/services/blob/src/AwsS3Bucket.cpp b/services/blob/src/AwsS3Bucket.cpp --- a/services/blob/src/AwsS3Bucket.cpp +++ b/services/blob/src/AwsS3Bucket.cpp @@ -117,9 +117,10 @@ Aws::IOStream &retrievedFile = outcome.GetResultWithOwnership().GetBody(); - std::string result; - result.resize(size); - retrievedFile.get((char *)result.data(), size + 1); + std::stringstream buffer; + buffer << retrievedFile.rdbuf(); + std::string result(buffer.str()); + std::string cpy = result; return result; } @@ -152,9 +153,11 @@ Aws::IOStream &retrievedFile = getOutcome.GetResultWithOwnership().GetBody(); - std::string result; + + std::stringstream buffer; + buffer << retrievedFile.rdbuf(); + std::string result(buffer.str()); result.resize(nextSize); - retrievedFile.get((char *)result.data(), nextSize + 1); callback(result); } } diff --git a/services/blob/src/Reactors/server/GetReactor.h b/services/blob/src/Reactors/server/GetReactor.h --- a/services/blob/src/Reactors/server/GetReactor.h +++ b/services/blob/src/Reactors/server/GetReactor.h @@ -50,9 +50,10 @@ Aws::IOStream &retrievedFile = getOutcome.GetResultWithOwnership().GetBody(); - std::string result; - result.resize(nextSize); - retrievedFile.get((char *)result.data(), nextSize + 1); + + std::stringstream buffer; + buffer << retrievedFile.rdbuf(); + std::string result(buffer.str()); response->set_datachunk(result); this->offset += nextSize;