Autor Zpráva
Petr123
Profil *
Vážení,

předem bych Vás rád trošku osvětlil okolnosti mého následně popsaného problému:
Pracuji na programu v c#, který komunikuje přes http se serverem. Konkrétně je to takhle: Na www.server.cz/command.html nahraju nějaký příkaz, např. "message:Ahoj", program zpracuje příkaz a vyhodí hlášku "Ahoj". Komunikace z druhé strany, tedy od programu k serveru, probíhá přes formuláře, program jednoduše vygeneruje např. tuto url: "www.server.cz/functions.php?nahraj=lorem%ipsum&file=text.html", odešle ji a server zpracuje.
Ne, nedělám nějaký chytač kláves, ani nic podobného... Jde mi jen o vzdálenou správu počítače z internetu, nezávisle odkud a z jakého počítače.
A nyní k problému: Chci mezi počítačem a serverem přenášet data, upozorňuji, chci to přes http... A ano, už to moje aplikace umí, ač omezeně a hlavně nefunkčně.
Princip odesílání dat (konkrétně png obrázku): V programu vezmu kód souboru, uložím ho do tagu textarea na html stránce a tu automaticky přes javascript .submit() při body onload odešlu na server. Server si kód přebere, uloží a znovu sestaví soubor png. A zde je problém, jelikož server (dle mě) špatně překóduje některé znaky je výsledný png obrázek nefunkční. Pro pochopení přikládám screenshot kódu přeneseného obrázku a orginálu. Za všechny reakce děkuji. V případě nějaké nejasnosti se prosím ptejte.
Mike8748
Profil
Petr123:
pokud to opravdu chceš dělat přes html formulář, tak by bylo vhodné obrázek převest na base64, a to odesílat v té textarea.. eliminuješ tím veškeré problémy s kodováním

nebylo by snadnější z aplikace udělat běžný POST požadavek a soubor uploadnout? c# ma dost komponent pro komunikaci přes HTTP protokol, upload souboru tam je taky
Petr123
Profil *
Vážený pane Mike8748,

děkuji za radu. Pokusil jsem se na straně programu šifrovat do Base64, přenést a na straně serveru dešifrovat. Bohužel ani Base64 nedokázal rozpoznat všechny znaky v souboru a opět jsou mezi originálem a výsledkem rozdíly v některých znacích.

Druhý způsob, který navrhujete, jsem se pokusil vyzkoušet až nyní. Funguje bravurně! Děkuji Vám mnohokrát.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0