0

このコードを持っていますが、タイトルに記載されているエラーが発生します:「リモートサーバーがエラーを返しました:(405)メソッドは許可されていません。」

**PUTをPOSTに置き換えました**

「PUT」を「POST」に置き換えると、エラーが発生しないので動作するように見えますが、ファイルはアップロードされません。SharePoint(Office 365)のドキュメントライブラリにファイルをアップロードしようとしています

public static void UploadTest()
        {
            WebClient w = new WebClient();

            w.Credentials = new NetworkCredential("username", "password");
            var ua = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
            w.Headers["Accept"] = "/";
            w.Headers.Add(HttpRequestHeader.UserAgent, ua);
            byte[] bFile = System.IO.File.ReadAllBytes(@"C:\t.txt");
            string ulr = @"http://www.website.com/uploadfolder/";
            System.Uri oUri = new System.Uri(ulr);

            try
            {
                w.UploadData(oUri, "POST", bFile);
                w.UploadDataCompleted += new UploadDataCompletedEventHandler(oWebClient_UploadDataCompleted);
                Console.WriteLine("Uri:" + oUri);
            }

            catch (Exception ex)
            {
                throw ex; 
                          }

            finally
            {
                Console.ReadLine();
            }
        }
4

1 に答える 1

0

クレデンシャルによるアクセスとログインに関して問題があります。w.Credentials=newNetworkCredential(user、pass);を削除すると破損したファイルをダウンロードできるため、接続しようとすると問題が発生するようです。

返信ありがとうございます。今はまったく新しい方法を試しています。

于 2012-10-03T11:28:47.207 に答える