Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (C#) - Share-online.biz API - "413 Request Entiry Too Large"



Spellbook
29.09.2018, 13:18
Hallo zusammen,

ich bin schon seit gestern Mittag am verzweifeln. Ich probiere mit der Share-online.biz API einen File hochzuladen.
Den Reqest aber ich glaube ich ganz gut hinbekommen, aber leider gibt der Server immer einen Fehler zurück.


413 Request Enity Too Large

Dabei müsste der Upload Server ja eigentlich große Request annehmen könnnen oder nicht? Wäre ja sonst etwas sinnfrei:emoji28:

Findet jemand den Fehler in dem Code?



public void Upload_to_SH(string DateiPfad, string server, string sessionname, string Benutzer, string Passwort)
{

HttpClient httpClient = new HttpClient();
MultipartFormDataContent form = new MultipartFormDataContent();


byte[] file = FileToArray(DateiPfad);
Stream stream = new MemoryStream(file); // Im grunde überflüssig. ByteArrayContet geht auch
form.Add(new StringContent(Benutzer), "username");
form.Add(new StringContent(Passwort), "password");
form.Add(new StringContent(sessionname), "upload_session");
form.Add(new StringContent("1"), "chunk_no");
form.Add(new StringContent("1"), "chunk_number");
form.Add(new StringContent(Convert.ToString(file.Length)), "filesize");
form.Add(new StreamContent(stream, file.Length), "fn", "test2.rar");
form.Add(new StringContent("1"), "finalize");

HttpResponseMessage response = httpClient.PostAsync(server, form).Result;

httpClient.Dispose();
string sd = response.Content.ReadAsStringAsync().Result;
MessageBox.Show("Server: " + sd);


}
private byte[] FileToArray(string fullFilePath)
{
FileStream fs = File.OpenRead(fullFilePath);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
fs.Close();
return bytes;
}


Hoffentlich kann mir wer helfen :-)

Danke im Vorraus :-)

fluffyxz
29.09.2018, 14:20
Hm...schickst du den Request auch an den Uploadserver und nicht an die Session.php?

Also
Response: SESSIONNAME;UPLOADSERVER/SKRIPT.PHP
nicht an die
Request to: http://www.share-online.biz/upv3_session.php
:D
Vll iwo ein dreher in den Variablen drin? ;)

Lg

Spellbook
29.09.2018, 15:12
Der Seesion Name und der Server wird ein einer separaten Funktion abgefragt. Das funktioniert so weit und es wird auch übergeben. Wenn etwas davon nicht Korrekt ist gibt der Server eine andere Antwort raus.

EDIT:

So das erste Problem ist gelöst. Die endung "/upv3.php" durfte nicht an die Server URL vom Session Response angehängt werden.
Neues Problem ist Jetzt diese meldung anch dem Upload:


server exception session creation/reuse failed