在 ASP.NET MVC Web API 中處理檔案上傳
此範例示範如何在 ASP.NET MVC Web API 中使用 multipart/form-data 處理檔案上傳。
下面的 Upload
方法使用 Request.Content.IsMimeMultipartContent()
檢查請求是否為多部分錶單。如果不是,它會拋出一個 HttpResponseException
指示不支援的媒體類型。 否則,它使用 MultipartMemoryStreamProvider
非同步讀取多部分資料。 然後,程式碼循環存取每個文件,將文件名和內容提取為位元組數組。您可以調整文件處理邏輯以滿足您的特定需求。
<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); // Process uploaded files foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('"'); var buffer = await file.ReadAsByteArrayAsync(); // Save the file, process the data, or perform other actions here. // Example: Save to disk // var filePath = Path.Combine(Server.MapPath("~/App_Data"), filename); // File.WriteAllBytes(filePath, buffer); } return Ok(); }</code>
這個改進的程式碼提供了更清晰的註解和更簡潔的過程解釋。 請記住將註解掉的範例文件保存替換為您想要的文件處理邏輯。
以上是如何在 ASP.NET MVC Web API 中接受檔案 POST 請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!