微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++ azure-storage 库,stream_buf can_read 返回 false

如何解决C++ azure-storage 库,stream_buf can_read 返回 false

问题如上,下面附上代码

=IF(ISERROR(INDEX(LInesT(Infilt,sqrtTime^{1,2},FALSE),1,1)),"---",INDEX(LInesT(Infilt,1))

被星号包围的部分打印

cloud_storage_account storage_account = cloud_storage_account::parse(CONNECTION_STRING);
cloud_blob_client blob_client = storage_account.create_cloud_blob_client();  
cloud_blob_container container = blob_client.get_container_reference(U(CONTAINER));
std::string blob_name = key_string + ".jpg";
cloud_block_blob block_blob = container.get_block_blob_reference(U(blob_name));
std::unique_ptr<ImageFrame> frame = std::make_unique<ImageFrame>(vcss_value->get_key_ref(),vcss_value->blob);

****
concurrency::streams::rawptr_buffer<uint8_t> buffer(reinterpret_cast<unsigned char*>(frame->bytes),frame->size);
std::cout << "frame size: " << std::to_string(frame->size) << std::endl;
std::cout << "buffer can read: " << buffer.can_read() << std::endl;
****

concurrency::streams::istream inputStream(buffer);
block_blob.upload_from_stream(inputStream);
inputStream.close().wait();
buffer.close().wait();

这里 ImageFrame 扩展自 Blob,它包含一个名为 bytes 的 char * 字段。它在转换为 concurrency::streams::istream 时也会抛出 std::runtime_error。我想知道缓冲区无法读取的问题是什么?谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。