我正在尝试通过azure函数将图像上传到blob存储。有点努力让它发挥作用。
var data = new FormData();
xhr = new XMLHttpRequest();
data.append('file', file);
data.append('name', file.name);
xhr.open('POST', 'https://[blobstorage]/api/upload/foo', true);
xhr.setRequestHeader('Content-type', 'multipart/form-data;');
xhr.send(data);
在天蓝色函数中触发POST:
if (context.req.method === 'POST') {
fs.readFile(context.req.rawBody, function (err, data) {
context.log('data', data);
blobService.createBlockBlobFromText(containerName, blob, data, {contentSettings: {contentType: 'image/png'}}, function(){
context.done();
});
});
}
这会将一个文件添加到blob存储中,但不幸的是它不是图像。
答案 0 :(得分:2)
我相信$("li.nav-item").on("click", function(){
$("li.nav-item").removeClass("line");
$(this).addClass("line");
});
在日志中显示context.log('data', data);
。这就是为什么你得到零大小的文件。不幸的是,多部分解析不是Azure功能的一部分。你可以在这里找到更多细节:
How to parse Multi-part form data in an Azure Function App with HTTP Trigger? (NodeJS)