【发布时间】:2019-01-06 12:27:16
【问题描述】:
我使用 .NET Web API 创建了一个 Web 服务。 Web 服务部分效果很好,我可以使用 Advanced REST Client 发送 zip 文件。问题是我无法以编程方式发送 zip 文件。这是高级 REST 客户端请求标头:
我尝试了一些东西,但没有成功。考虑到这是 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;
}
【问题讨论】:
-
是的,你的代码是必要的,即使它听起来像基本的东西。
-
使用像wireshark或fiddler这样的嗅探器。将 Advanced REST Client 结果与您的应用程序结果进行比较。查看 http 标头。通常你必须在你的代码中添加一个缺失的标题。
-
webserverStatus不是一个好名字,因为我不知道它是什么。无论是哪种情况,您都应该将其命名为webServerIsActive或webserverExists。 -
是的,你是对的,webserverStatus 对我来说只是一个帮助变量。
标签: c# file-upload multipartform-data webservice-client