网上代码大部分是这么写的:
PutObjectRequest putObjectRequest;
putObjectRequest.WithBucket(BucketName.c_str()).WithKey(objectKey.c_str());
auto input_data = Aws::MakeShared<Aws::FStream>("PutObjectInputStream", pathkey.c_str(), std::ios_base::in | std::ios_base::binary);
putObjectRequest.SetBody(input_data);
auto putObjectResult = m_client->PutObject(putObjectRequest);
if (putObjectResult.IsSuccess())
{
std::cout << "Done!" << std::endl;
return true;
}
这样上传图片后,在minio界面图片的“Content-Type”是“binary/octet-stream”,这个意思是二进制流,将该图片的minio路径复制到浏览器地址栏中,直接提示下载,而不是显示。
只需加上
putObjectRequest.SetContentType("image/jpeg");
“Content-Type”即可改为“image/jpeg”,此时将路径复制到浏览器地址栏中,就可以显示了。