c#-Request.Files在上载文件后始终为空

c#-Request.Files在上载文件后始终为空,c#,asp.net,winforms,webforms,C#,Asp.net,Winforms,Webforms,我正在尝试将一个文件从windows窗体c#客户端应用程序上载到ASP.NET c#应用程序。 实际上,我在客户端应用程序中运行了以下代码: WebClient uploader = new WebClient(); string UploadFilePath = "<filepath>"; string uploadWebUrl = "http://localhost:51037/(S(044401gmyxhg3uz01ulngfdp))/upload.aspx"; byte[]

我正在尝试将一个文件从windows窗体c#客户端应用程序上载到ASP.NET c#应用程序。 实际上,我在客户端应用程序中运行了以下代码:

WebClient uploader = new WebClient();
string UploadFilePath = "<filepath>";
string uploadWebUrl = "http://localhost:51037/(S(044401gmyxhg3uz01ulngfdp))/upload.aspx";
byte[] responseArray = uploader.UploadFile(uploadWebUrl, UploadFilePath);
WebClient uploader=newWebClient();
字符串UploadFilePath=“”;
字符串uploadWebUrl=”http://localhost:51037/(S(044401gmyxhg3uz01ulngfdp))/upload.aspx”;
byte[]responseArray=uploader.UploadFile(uploadWebUrl,UploadFilePath);
这是upload.aspx页面

<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {

    foreach(string f in Request.Files.AllKeys) {
        HttpPostedFile file = Request.Files[f];
        file.SaveAs("~/Download/"+file.FileName);
    }   
}

</Script>
<html>
<body>
<p> Upload complete.  </p>
</body>
</html>

无效页面加载(对象发送方,事件参数e){
foreach(Request.Files.AllKeys中的字符串f){
HttpPostedFile file=Request.Files[f];
file.SaveAs(“~/Download/”+file.FileName);
}   
}
上传完成


关键是,“Request.Files”实际上是一个空字符串数组,我不明白为什么我认为您只需要在upload file命令中添加“POST”:

byte[] responseArray = uploader.UploadFile(uploadWebUrl, "POST", UploadFilePath);
以下是Microsoft的文档:

其中,UploadFile的方法签名如下:

public byte[] UploadFile(
 string address,
 string method,
 string fileName
);

upload.aspx安全页面还是非安全页面?它实际上在一个预先存在的项目中,但据我所知(upload.aspx页面是全新的,由我创建,但我不是asp.net专家),该页面应该是非安全的。为了帮助您,人们需要更多的反馈。您应该描述正在发生的事情,包括您收到的任何错误消息等。