Ich versuche, einen WebApi-Dienst zu schreiben, der eine Datei empfängt, eine triviale Manipulation vornimmt und die Datei zurücksendet. Ich habe Probleme beim Senden und / oder Empfangen der Datei vom Dienst.
Das Problem, das ich habe, ist, dass die Datei, die von dem Dienst zurückgegeben wird, ungefähr 1,5 mal größer als die manipulierte Datei ist, z. wenn die Datei zurückgegeben wird, ist es wie 300kb statt der 200kb sollte es sein.
Ich nehme an, dass es irgendwie verpackt und manipuliert wird, und ich bin nicht sicher, wie ich es richtig empfangen soll. Der Code für den WebAPI-Dienst und die Methode, die den Web-Service aufruft, finden Sie unter
Im WebApi-Dienst, wenn ich die Zeile return Ok(bufferResult)
anklicke, ist die Datei ein byte[253312]
In der Methode, die den Webdienst aufruft, nachdem die Datei bearbeitet und zurückgegeben wurde, folgt der Zeile var content = stream.Result;
, der Stream hat eine Länge von 337754 Bytes.
Web-API-Dienstcode
%Vor%Methode Aufruf des Service
%Vor%Ich bin immer noch neu in Streams und WebApi, also kann mir etwas ganz offensichtlich fehlen. Warum haben die Dateiströme unterschiedliche Größen? (zB ist es verpackt und wie entpacke und / oder empfange ich den Stream)
okay, um die Datei korrekt zu erhalten, musste ich die Zeile ersetzen
%Vor%mit
%Vor%um den richtigen Typ für die Bindung anzugeben
Der spätere Teil der Methoden, die den Service aufrufen, sieht etwa wie
aus %Vor%Tags und Links asp.net-mvc asp.net-web-api filestream