2016-05-20 4 views
0

Im folgenden Code werden Dateien auf einen Server mit demselben Namen, derselben Größe und demselben Dateityp hochgeladen (wie beim Hochladen einer Dummy-Datei). Aber wann versuche ich es zu sehen, merkt es sich. Wenn ich versuche, eine .txt Datei hochzuladen, funktioniert es. Was ist los mit dir?Datei über Dropbox mit REST api hochladen

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; 
      } 
     } 

Antwort

0

ich aus den Klassen übernehmen sehe ich, dass Sie verwenden RestSharp? Ich bin nicht so vertraut, aber von einer schnellen Suche, sieht es nicht aus wie AddFile tut, was Sie wollen. (Das setzt eine mehrteilige Form Upload-up, was nicht ist, was die Dropbox API erwartet.)

Statt request.AddFile(...), ich glaube, Sie wollen etwas wie diese (völlig ungetestet):

// 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

Dank für Ihr Interesse. Ich habe das schon versucht, aber es hat nicht funktioniert. –

+0

Und was ist passiert, als du das versucht hast? – smarx

+0

es ist eine Datei dort erstellen, aber wenn ich Vorschau möchte es nichts anzeigen und auch wenn ich die Dateigröße, Dateigröße in Bytes überprüfen –