使用网络服务发送zip文件

时间:2018-07-30 09:26:40

标签: c# file-upload multipartform-data webservice-client

我已经使用.NET Web API创建了一个Web服务。 Web服务部分效果很好,我能够使用Advanced REST Client发送zip文件。问题是我无法以编程方式发送zip文件。这是高级REST客户端请求标头:

enter image description here

我尝试了一些尝试,但没有成功。考虑到这是Web开发人员(我是桌面开发人员)的基本知识,所以我没有发布我尝试过的内容,但是如果有必要,我会发布。预先谢谢你。

编辑:这是我的最新版本

private async void BeginUpdate(bool webserverStatus)
{
    if (!webserverStatus) return;

    var httpClient = new HttpClient();
    var form = new MultipartFormDataContent();
    var byteArray = File.ReadAllBytes("myUpdatePackage.zip");

    form.Add(new ByteArrayContent(byteArray, 0, byteArray.Length), "myUpdatePackage", "myUpdatePackage.zip");
    HttpResponseMessage response = await httpClient.PostAsync(@"http://localhost:9000/api/file/", form);
    response.EnsureSuccessStatusCode();
    httpClient.Dispose();

    string sd = response.Content.ReadAsStringAsync().Result;
}

1 个答案:

答案 0 :(得分:0)

我意识到,在Advanced REST Client上,我使用的是PUT,而在C#应用程序上,我使用POST进行调用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input class="checkboxes" id="checkbox1" name="checkboxgroup" type="checkbox" value="First checkbox">
  <label for="checkbox1">First checkbox</label>
</div>
<div>
  <input class="checkboxes" id="checkbox2" name="checkboxgroup" type="checkbox" value="Second checkbox">
  <label for="checkbox2">Second checkbox</label>
</div>

因此,这是完整的代码:

HttpResponseMessage response = await httpClient.PostAsync(@"http://localhost:9000/api/file/", form);

有关this question的更多详细信息