我想提取并根据服务器上的应用程序逻辑设置文件名,然后再将文件上传到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();

    }


我们要基于ID自定义发送到Azure Blob存储的文件名

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

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

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

最佳答案

要将文件上传到API时使用IFormFile。您可以使用Name属性检索文件名:

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

10-07 19:24
查看更多