【发布时间】:2018-09-01 13:52:18
【问题描述】:
我正在尝试设置一个 azure 函数以将 blob 从 HTTP 请求上传到 blob。
我能够使用以下内容上传具有静态文件名的文件:
public static class Uploader
{
[FunctionName("Uploader")]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)]HttpRequest req,
[Blob("hello/uploaded.jpg", FileAccess.Write)]Stream writer,
TraceWriter log
)
{
log.Info("trigger for image upload started...");
if (!req.ContentType.Contains("multipart/form-data") || (req.Form.Files?.Count ?? 0) == 0)
{
log.Warning("no images found on upload attempt");
return new BadRequestResult();
}
foreach (var file in req.Form.Files)
file.CopyTo(writer.);
return new OkObjectResult("Done!");
}
}
有什么办法可以将Blob("hello/uploaded.jpg") 更改为Blob("hello/{fileName}" 之类的东西,以动态获取HTTP 请求的名称。我不介意它是从头部还是身体的任何地方。我试图不将整个 GetBlockBlobReference 进程仅用于动态文件名。
更新 我不确定我是否遗漏了什么或以错误的方式看待这个问题。对于带有 blob 存储的无服务器设置,HTTP 上传不应该是一个明显和常见的场景吗?怎么没有这方面的例子?
【问题讨论】:
标签: azure azure-blob-storage azure-functions