小编CSh*_*Dev的帖子

将二进制文件字节数组发送到 web api 方法

我需要将大小为 100MB 的二进制文件以 JSON 或字节数组的格式发布到 Web API 1.1。我的客户端应用程序是具有 x32 位架构的 C# winforms 应用程序。因为我想从这个客户端应用程序读取二进制文件并将这个二进制文件字节数组发送到 Web API。

我的 winforms 应用程序中的当前实现如下

var sFile = @"C"\binary.zip";
var mybytearray = File.ReadAllBytes(sFile);
var webRequest =
                (HttpWebRequest)WebRequest.Create("http://localhost/filewriter");
webRequest.ContentType = "text/plain";
webRequest.Method = WebRequestMethods.Http.Post;
webRequest.AllowWriteStreamBuffering = true;
webRequest.Timeout = 100000;
webRequest.Headers.Add("fileName", Path.GetFileName(sFile));
webRequest.ContentLength = mybytearray.Length;

using (var dataStream = new StreamWriter(webRequest.GetRequestStream()))
      dataStream.Write(mybytearray);

using (var response = webRequest.GetResponse())
{
    if(response.StatusCode = HttpStatusCode.Ok;
         return true;
}
Run Code Online (Sandbox Code Playgroud)

下面是用我的 Web api 方法编写的

[HttpPost]
public HttpResponseMessage filewriter(byte[] binaryData)
{
    using (FileStream binaryFileStream = …
Run Code Online (Sandbox Code Playgroud)

c# httpwebrequest winforms asp.net-web-api

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

httpwebrequest ×1

winforms ×1