使用C#将文件上传到Web服务器

Sal*_*lim 2 c# webclient

我正在尝试使用C#按照以下方式在Web服务器中上传文件

try
{
    // create WebClient object
    WebClient client = new WebClient();

    string myFile = @"D:\test_file.txt";
    client.Credentials = CredentialCache.DefaultCredentials;

    // client.UploadFile(@"http://mywebserver/myFile", "PUT", myFile);
    client.UploadFile(@"http://localhost/uploads", "PUT", myFile);
    client.Dispose();
}
catch (Exception err)
{
    MessageBox.Show(err.Message);
}
Run Code Online (Sandbox Code Playgroud)

但是每次我得到这个错误:

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

Sal*_*lim 5

我已经使用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);
}
Run Code Online (Sandbox Code Playgroud)

服务器端PHP代码 upload.php

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