2

こんにちは、ローカルにある html ファイルを、geoserver 要素を含むデータ ディレクトリを含むサーバーのリモート フォルダーにアップロードしたいと考えています。コードは次のとおりです。

public void CopyWS(string SourcePath, string DestinationPath)
    {
        try
        {

            string SourcePath = Path.GetFullPath("Result.html");
            string DestinationPath = @"http://xx.xx.xxx.:8080/geoserver/rest/workspaces/";               
            string authInfo = "admin:geoserver";
            WebClient client = new WebClient();
            client.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo));

          client.UploadFile(DestinationPath, "PUT", SourcePath); 
}

        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }

「エラー 405 メソッドは許可されていません」というエラーが表示されます。putではなくpostなどのさまざまな方法を試していますが、同じエラーが発生します。

編集:セキュリティの問題になる可能性があると思う人はいますか? UploadData を使用すると、同じエラーが発生します

EDIT:さまざまな方法(UploadDatat ie)で長い間テストした後、常に同じエラーが発生します。それを検索して読んでいますが、本当に役立つものは何も見つかりませんでした。

編集:何か考えはありますか?

前もって感謝します

4

1 に答える 1

1

PUT設定されていません...通常PUT(常にではありませんが)サーバーが理解していることを意味しますWebDAV...HTTPアップロードは通常POST...を介して行われます

別の可能性としては、一部のプロキシ ブロックが考えられますPUT

編集 - コメントによると:

POST リクエストは異なる方法で構築する必要があり、サーバーがどのように期待するかによって異なります...サンプル コードについては、HTTPWebrequest を使用してファイルをアップロードする (multipart/form-data) を参照してください。

于 2011-08-11T11:03:27.990 に答える