在源元素中发送文件以获取Azure存储中的文件

时间:2019-04-01 13:44:51

标签: image azure-storage html-email

我有一个使用

的电子邮件模板
<P style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt"><IMG border=0 hspace=0 alt="" src="file://some image file path"></SPAN></P>

,但是,现在使用基于云的解决方案,将文件存储在Blob存储中。

如果尝试复制路径,只需获取以下内容:

<Error>
   <Code>ResourceNotFound</Code>
   <Message>
      The specified resource does not exist. RequestId:78b69839-201e-00ac-7c8f-e81311000000 Time:2019-04-01T13:35:28.8100122Z
   </Message>
</Error>

可以使用C#作为附件从存储中下载,但是不知道如何通过在HTML模板中的img元素中指定来发送文件。

1 个答案:

答案 0 :(得分:2)

如果容器的访问级别BlobContainer,则只需使用src="https://storageaccountname.blob.core.windows.net/containername/123.PNG"之类的src。

如果访问级别Private,则不能直接使用上面的src,否则,将出现404错误。

enter image description here

要解决此问题,可以为Blob生成SAS令牌。导航到azure门户->查找图像->单击...-> Generate SAS->具体参数,然后单击Generate blob SAS token and URLBlob SAS URL是您需要的src,它应该类似于src="https://storageaccountname.blob.core.windows.net/containername/123.PNG?sp=r&st=2019-04-02T04:09:45Z&se=2019-04-02T12:09:45Z&spr=https&sv=2018-03-28&sig=xxxxxxZA0g%3D&sr=b"

enter image description here

enter image description here

结果

enter image description here

有关共享访问签名(SAS)的更多详细信息,您可以参考此link