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