2016-05-20 21 views
0

以下のコードは、同じ名前、サイズ、ファイルタイプ(ダミーファイルをアップロードしているようなもの)のサーバにファイルをアップロードします。しかし、私はそれを見ようとすると、それは注目に値する。 .txtファイルをアップロードしようとするとうまくいきます。どうしましたか?REST APIを使用してDropboxにファイルをアップロード

public static void UploadFile(string accessToken,string path,HttpPostedFileBase file) 
     { 
      try 
      { 

       var client = new RestClient("https://content.dropboxapi.com/1/files_put/auto/Abc/" + file.FileName); 
       var request = new RestRequest(Method.PUT); 
       request.AddHeader("Authorization", "Bearer " + accessToken); 
       request.AddHeader("Content-Type", file.ContentType); 
       //request.AddHeader("Content-Length", file.ContentLength.ToString());        
       request.AddFile("file", path); 

       IRestResponse response = client.Execute(request); 
      } 
      catch (Exception ex) 
      { 
       throw ex; 
      } 
     } 

答えて

0

私は私はあなたがRestSharpを使用していることがわかりクラスから仮定?私はよく知っているわけではありませんが、クイック検索では、AddFileのようには見えません。興味のため

// Get a byte array of the file content. Note that this involves reading 
// the entire file into memory! I couldn't immediately find a way to work 
// with the stream itself in RestSharp. 
MemoryStream target = new MemoryStream(); 
file.InputStream.CopyTo(target); 
byte[] data = target.ToArray(); 

// Send those bytes as the body of your HTTP request. 
request.AddParameter("application/octet-stream", data, ParameterType.RequestBody); 
+0

ありがとう:(。のDropbox APIを期待するものではありませんマルチパートフォームのアップロードを、設定した)

を代わりにrequest.AddFile(...)の、私はあなたがこのような何か(完全にテストされていない)をしたいと思います。 私はすでにこれを試しましたが、うまくいきませんでした。 –

+0

これを試したときに何が起こったのですか? – smarx

+0

そのファイルがそこに作成されますが、プレビューが必要なときは何も表示されず、ファイルサイズ、ファイルサイズをバイトで確認するとき –

関連する問題