C# inviare file da c# a php con il metodo post

Stato
Discussione chiusa ad ulteriori risposte.

DualModz

Utente Bronze
1 Luglio 2017
82
15
2
44
Salve, come da titolo vorrei inviare un file da c# ad un file php adatto all’upload dei file. Con il metodo post bastava da c# inserire ciò che si voleva doto il dato get, in questo caso essendo un form con metodo post, come posso inviare il mio file in modo da caricarlo sul mio server?
Grazie in anticipo
 
L'unica soluzione che mi viene in mente con altervista è in FTP però è realmente insicuro. Farò un'occhiata domani e ti dirò per certo.

FreeWar Developer
 
Non necessariamente se usi un async, comunque intanto segui questa guida per abilitare l'upload se non lo hai fatto: https://www.w3schools.com/php/php_file_upload.asp

Successivamente usa questo in c#:

byte[] data = Encoding.ASCII.GetBytes( $"username={user}&password={password}"); WebRequest request = WebRequest.Create("http://localhost/s/test3.php"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } string responseContent = null; using (WebResponse response = request.GetResponse()) { using (Stream stream = response.GetResponseStream()) { using (StreamReader sr99 = new StreamReader(stream)) { responseContent = sr99.ReadToEnd(); } } }

Ovviamente edita il post in data e il link.


FreeWar Developer
 
Codice:
 static void Main(string[] args)
        {
            byte[] imageArray = System.IO.File.ReadAllBytes("C:\\Users\\emmefreeze-pc\\Desktop\\foca.jpg");
            string base64ImageRepresentation = Convert.ToBase64String(imageArray);
            Console.WriteLine(base64ImageRepresentation);
            char a = Console.ReadKey(true).KeyChar;
        }
 
A me funziona l'upload di file con post senza ftp (con altervista)... prova a controllare pure il lato server che accetta il file
 
Stato
Discussione chiusa ad ulteriori risposte.