c# - 如何在将文件上传到 azure 之前从多部分表单数据中提取文件名和其他属性

标签 c# azure asp.net-web-api2 azure-storage

我想在将文件上传到 azure 之前根据服务器上的应用程序逻辑提取并设置文件名..

我当前的场景:客户端 -> 应用程序 Web Api -> Azure 存储

以下是代码:

public async Task<IHttpActionResult> UploadProfilePic()
    {
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }

        AzureStorageCls = new MyAzureStorage(WebApiApplication.AllowedImageExtensions);

//Need to set file name based on custom logic prior to upload of image

//Below method calls the  pRequest.Content.ReadAsMultipartAsync(provider) of custom MultipartStreamProvider
        BlobStorage BlobImage = await AzureStorageCls.UploadImageToAzure(modifiedFileName, Request);

        return Ok();

    }

我们想要根据 ids 自定义发送到 azure blob 存储的文件名

但据我所知,只有在提供程序中调用 ReadAsMultipartAsync(provider) 后,我们才能获取所有属性。

我确信一定有一种我不知道的更简单的方法来解决这个问题

任何帮助将不胜感激。 提前致谢

最佳答案

当我想将文件上传到我的 API 时,我使用 IFormFile。您可以使用 Name 属性检索文件名:

public async Task<IHttpActionResult> UploadProfilePic([FromForm]IFormFile uploadFile))
{
    // do something with uploadFile.Name 
}

关于c# - 如何在将文件上传到 azure 之前从多部分表单数据中提取文件名和其他属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51542507/

相关文章:

azure - 当用户存储在外部身份提供商服务中时与用户的关系

javascript - 无法将 JavaScript 对象发布到 asp.net web api 端点

c# - Xamarin Forms 依赖服务定义问题

c# - 脚本没有连接到 JsonResult Controller

c# - 你对 C# 中的 "Escape from Zurg"难题的解决方案是什么?

c# - 实现一个 "LazyProperty"类——这是个好主意吗?

azure - 为什么逻辑应用的 if() 表达式同时执行两个代码路径?

asp.net - 如何将 ASP.NET Web API 受众限制为单个应用程序,无需登录?

azure - Azure DevOps 中的服务连接创建操作失败

asp.net-web-api - 如何在Azure Service Fabric中的自托管Web API上配置SSL