在 ASP.NET Web API 中通过 POST 上传文件
ASP.NET Web API 中的文件上传需要一种定制化的方法。为了接收和处理 POST 的图片或文件,务必改进当前的实现。
您问题中提供的代码片段 ProfileImagePost
尝试接收一个 HttpPostedFile
参数。但是,这种方法在 ASP.NET Web API 中可能无法按预期工作。
相反,请使用以下模式来成功处理文件上传:
<code class="language-csharp">[HttpPost("api/upload")] public async Task<IHttpActionResult> Upload() { if (!Request.Content.IsMimeMultipartContent()) throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('"'); var buffer = await file.ReadAsByteArrayAsync(); // 使用文件名和二进制数据执行任何操作。 } return Ok(); }</code>
此修改后的代码片段确保您可以通过将传入请求视为多部分数据并提取文件名和文件内容来接收和处理 ASP.NET Web API 中的文件上传。
以上是如何在 ASP.NET Web API 中通过 POST 处理文件上传?的详细内容。更多信息请关注PHP中文网其他相关文章!