Dateien per POST in der ASP.NET-Web-API hochladen
Das Hochladen von Dateien in die ASP.NET-Web-API erfordert einen individuellen Ansatz. Um POST-Bilder oder -Dateien empfangen und verarbeiten zu können, muss die aktuelle Implementierung verbessert werden.
Das in Ihrer Frage bereitgestellte Code-Snippet ProfileImagePost
versucht, einen HttpPostedFile
-Parameter zu empfangen. Dieser Ansatz funktioniert jedoch möglicherweise nicht wie erwartet in der ASP.NET-Web-API.
Verwenden Sie stattdessen das folgende Muster, um Datei-Uploads erfolgreich durchzuführen:
<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>
Dieses modifizierte Code-Snippet stellt sicher, dass Sie Datei-Uploads in der ASP.NET-Web-API empfangen und verarbeiten können, indem die eingehende Anforderung als mehrteilige Daten behandelt und der Dateiname und Dateiinhalt extrahiert wird.
Das obige ist der detaillierte Inhalt vonWie handhabe ich Datei-Uploads per POST in der ASP.NET-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!