2017-06-16 27 views
1

Ich versuche Winkel zu laden Dateien von bis Dotnet Kern WebAPI und Somethings scheint mit meinem Code falsch:Datei in WebAPI Controller Bindung nicht funktioniert

[HttpPost("UploadImage")] 
    public IActionResult UploadImage([FromForm]ICollection<IFormFile> formFiles) 
    { 
     var picture = new Picture(); 
     var files = Request.Form.Files; 
     ... 
    } 

Die Parameter formFiles nicht null ist, aber nicht enthält jede Datei (count = 0) aber in der Request.Form.Files sind die Dateien hier und ich kann die Daten mit OpenReadStream() bekommen Wenn ich das FromForm Attribut weglassen, hatte ich das gleiche, wenn ich den Parameter formFiles, das gleiche Ergebnis umbenennen.

Wie kann ich eine automatische Bindung anstelle des Zugriffs auf Request-Eigenschaft vornehmen?

Antwort

1

Nachdem ich vor kurzem dasselbe gemacht habe, war meine Erfahrung die gleiche.

Die einzige Möglichkeit, Zugriff auf die Dateien zu erhalten, ist über die Request.Form.Files-Eigenschaft, keine Argumente für die Methode funktionieren. Beachten Sie, dass Sie können die Request Eigenschaft für Ihre Unit-Tests verspotten, so ist es nicht so schlimm, wie es scheint.

UPDATE: Ab .NET Core 2.0 scheint wieder zu funktionieren

+0

ich ein ähnliches Problem habe, aber kann nicht scheinen, um herauszufinden, wo zu bekommen 'Request.Form.Files' .. siehe meine [post] (https://stackoverflow.com/questions/47800814/upload-file-to-webapi-controller-not-working) –

Verwandte Themen