C# 使用C语言将文件上传到web服务器#

C# 使用C语言将文件上传到web服务器#,c#,webclient,C#,Webclient,我正在尝试使用C在web服务器中上传文件,如下所示# 但每次我遇到这个错误: 远程服务器返回错误:(405)方法不允许 该错误表示服务器不允许使用“PUT”方法。检查允许的方法的响应头。更多信息 或者检查您试图上载文件的应用程序的文档。错误显示您需要向正在使用的服务注册 在wcf的情况下,您可以这样注册 %WINDIR%\Microsoft.Net\Framework\v3.0\Windows通信 Foundation\ServiceModelReg.exe“-r 我使用POST方法和服务器端代

我正在尝试使用C在web服务器中上传文件,如下所示#

但每次我遇到这个错误:

远程服务器返回错误:(405)方法不允许

该错误表示服务器不允许使用“PUT”方法。检查允许的方法的响应头。更多信息


或者检查您试图上载文件的应用程序的文档。

错误显示您需要向正在使用的服务注册

在wcf的情况下,您可以这样注册

%WINDIR%\Microsoft.Net\Framework\v3.0\Windows通信 Foundation\ServiceModelReg.exe“-r


我使用POST方法和服务器端代码解决了这个问题:

C#代码

try
{
    WebClient client = new WebClient();
    string myFile = @"D:\test_file.txt";
    client.Credentials = CredentialCache.DefaultCredentials;
    client.UploadFile(@"http://localhost/uploads/upload.php", "POST", myFile);
    client.Dispose();
}
catch (Exception err)
{
    MessageBox.Show(err.Message);
}
服务器端PHP代码upload.PHP

<?php
    $filepath = $_FILES["file"]["tmp_name"];
    move_uploaded_file($filepath,"test_file.txt");
?>


您的服务器代码是什么?这是一个MVC操作吗?你确定你需要一个PUT吗?这可能是你需要发送的帖子吗?是否需要服务器端代码?。该文件将上载到服务器中所需的文件夹。如果需要,请输入服务器端代码。错误消息表示给定服务器不允许使用PUT方法。它需要您为服务器编写代码,您可以使用控制器、put方法创建MVC应用程序。
<?php
    $filepath = $_FILES["file"]["tmp_name"];
    move_uploaded_file($filepath,"test_file.txt");
?>