2012-10-02 31 views
0

我有這段代碼,但是我得到標題中描述的錯誤: 「遠程服務器返回錯誤:(405)方法不允許。上傳數據並沒有真正上傳,也沒有C#中的錯誤

**我已經換成POST現在把**

如果我取代「PUT」通過「POST」它似乎工作,因爲我沒有得到一個錯誤,但它不上傳任何文件。 我試圖在SharePoint上的文件上傳到文檔庫(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(); 
      } 
     } 
+0

你試過'POST'嗎? – James

+0

'PUT'顯然不是正確的方法。作爲第一個猜測,根本不想查看Sharepoint,你應該使用POST嗎? –

+0

@DanPuzey「*'PUT'顯然不是正確的方法*」 - 不確定爲什麼你在這裏如此堅強,'PUT'也可以用來創建資源和修改(至少從REST的角度來看) 。 – James

回答

0

,有關於在憑證和記錄訪問的問題 有些東西似乎去錯了,當我嘗試連接,因爲我可以在刪除w.Credentials = new NetworkCredential(user,pass)時下載損壞的文件;

我正在嘗試一種全新的方式,謝謝回覆。

相關問題