c# - 如何在将文件上传到 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) 后才能获取所有属性。
我确信必须有一种更简单的方法来解决这个我不知道的问题
任何帮助将不胜感激。提前致谢
解决方案
我IFormFile
想将文件上传到我的 API 时使用。Name
您可以使用以下属性检索文件名:
public async Task<IHttpActionResult> UploadProfilePic([FromForm]IFormFile uploadFile))
{
// do something with uploadFile.Name
}
推荐阅读
- node.js - 为什么我的 node.js 应用程序在重新加载/刷新时会出现“Cannot GET /page”错误?
- objective-c - iOS 13 中的 kCBAdvDataManufacturerData 数据格式发生了变化?
- javascript - 在没有循环和突变的情况下计算 JavaScript 中的重复字符
- java - 如何从 springboot 服务运行 CMD 命令?
- azure - 将数据帧保存为 csv 文件(在数据块中处理)并将其上传到 azure datalake blob 存储
- vb.net - 以编程方式将 Outlook 房间日历添加到用户日历查看快捷方式
- java - 使用 Spring Security 验证来自 Google 的访问令牌
- java - 为什么 MediaPlayer 在 Android 中的应用重启状态下停止?
- azure - 如何命中在 Azure 批处理节点内运行的烧瓶 API?
- c# - Entity Framework 6.0 DBContex 会自动关闭吗?