使用 REST API 将文件流上传到 AZURE BLOB STORAGE
Posted
技术标签:
【中文标题】使用 REST API 将文件流上传到 AZURE BLOB STORAGE【英文标题】:Upload a file stream to AZURE BLOB STORAGE using REST APIs 【发布时间】:2021-10-08 11:37:55 【问题描述】:我正在尝试使用以下代码将文件流上传到 Azure Blob:
const requestOptions =
url: url,
method: 'PUT',
headers:
'Content-Type': 'application/octet-stream',
'Content-Length': contentLength,
'x-ms-blob-type': 'BlockBlob',
'x-ms-date': strTime,
'x-ms-version': '2019-02-02'
,
body: readStream
我拥有的数据流太大,我无法将其存储在内存中并停止代码流以计算内容长度,那么有没有办法在没有内容长度的情况下发出 REST 请求上传 blob?
我遇到了一个解决方案Link,他们尝试在没有文件或流的内容长度的情况下进行上传调用。这样的事情是否可以利用 REST 或任何其他方法?
【问题讨论】:
【参考方案1】:所以有没有办法让 REST 请求上传 blob 内容长度?
上传 blob 时需要内容长度,因此您不能在请求中省略它。来自这个link
:
如果您的输入数据太大,一种可能的解决方案是分块读取输入数据并使用Put Block
操作上传它们,然后最后执行Put Block List
来提交blob。
【讨论】:
以上是关于使用 REST API 将文件流上传到 AZURE BLOB STORAGE的主要内容,如果未能解决你的问题,请参考以下文章
将图像(base64 字符串)作为文件流上传到 Web API
使用 phonegap 将文件作为流上传到 cloudinary