大家好,感谢您阅读本文。我想从我的覆盆子pi上传一张图片到我的Blob存储。我的Blob存储链接到我的Azure IoT中心,其中包含图片容器。为了达到这个目的,我正在使用Azure IoT SDK for Python现在,我正在腌制我应该如何格式化我的图像。我做了一些研究,显然当你将图片上传到Blob时,它应该是一个字节数组?我尝试了各种格式,但没有成功。我将图像存储在本地,并希望将其作为内容传递。
我在Python中的代码:
def upload_to_blob(filename,content):
#Upload foto naar blob
try:
iotHubClient.upload_blob_async(filename,content,len(content),blob_upload_confirmation_callback,1001)
except Exception as e:
print e
update_log('Unexpected error from IoT hub')
我在C ++中发现了这个iotHubClient的模拟版本
IOTHUB_CLIENT_RESULT IoTHubClient_UploadToBlobAsync(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const char* destinationFileName, const unsigned char* source, size_t size, IOTHUB_CLIENT_FILE_UPLOAD_CALLBACK iotHubClientFileUploadCallback, void* context)
在示例中,他们只展示如何将纯文本作为文本文件上传,我似乎无法在文档中找到它。如果你可以帮助我打开图片,我会发送到我的blob,在我的笔记本电脑上。提前致谢 !
答案 0 :(得分:2)
Python SDK处理为您上传,因此您可以执行以下操作:
filename = "myimage.png"
f = open("C:\Temp\myimage.png", "rb")
content = f.read()
print("IoTHubClient is uploading blob to storage")
iotHubClient.upload_blob_async(filename, content, len(content), blob_upload_confirmation_callback, 1001)