我在尝试从我的桌面应用程序上传文件到远程服务器。在浏览一段时间之后,这种方法似乎是最简单的方法。问题是在服务器端没有收到参数。我错过了什么?如何通过HttpClient PostAsync方法将文件和参数上传到远程服务器?
private void AddFile(FileInfo fileInfo, int folderId)
{
using (var handler = new HttpClientHandler() {CookieContainer = _cookies})
{
using (var client = new HttpClient(handler) {BaseAddress = new Uri(_host)})
{
var requestContent = new MultipartFormDataContent();
var fileContent = new StreamContent(fileInfo.Open(FileMode.Open));
var folderContent = new StringContent(folderId.ToString(CultureInfo.InvariantCulture));
requestContent.Add(fileContent, "file", "file");
requestContent.Add(folderContent, "folderId", "folderId");
client.PostAsync("/Company/AddFile", requestContent);
}
}
}
编辑:这是服务器端的期待签名:
[HttpPost]
public ActionResult AddFile(HttpPostedFileBase file, int folderId)
2013-11-27
Billdr
+0
服务器端签名是MVC控制器中的Action吗?你有控制它吗? –
+0
它在MVC控制器中。目前我无法修改它。 –
+0
请给我们服务器的网站代码。 –