Verarbeiten von Datei-Uploads in der ASP.NET MVC-Web-API
Dieses Beispiel zeigt, wie Datei-Uploads mithilfe von Multipart-/Formulardaten in einer ASP.NET MVC-Web-API verarbeitet werden.
Die Upload
-Methode unten verwendet Request.Content.IsMimeMultipartContent()
, um zu prüfen, ob es sich bei der Anfrage um ein mehrteiliges Formular handelt. Wenn nicht, wird ein HttpResponseException
ausgegeben, das auf einen nicht unterstützten Medientyp hinweist. Andernfalls wird MultipartMemoryStreamProvider
verwendet, um die mehrteiligen Daten asynchron zu lesen. Der Code durchläuft dann jede Datei und extrahiert den Dateinamen und den Inhalt als Byte-Array. Sie können die Dateiverwaltungslogik an Ihre spezifischen Bedürfnisse anpassen.
<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>
Dieser verbesserte Code bietet klarere Kommentare und eine prägnantere Erklärung des Prozesses. Denken Sie daran, die auskommentierte Beispieldateispeicherung durch Ihre gewünschte Dateiverarbeitungslogik zu ersetzen.
Das obige ist der detaillierte Inhalt vonWie akzeptiere ich Datei-POST-Anfragen in der ASP.NET MVC-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!