King Julien
King Julien

Reputation: 11338

Receive image from c# in php

I use this code to send an image from desktop application to a php file on server:

// Create a request using a URL that can receive a post. 
WebRequest request = WebRequest.Create("http://example.com/img.php");
// Set the Method property of the request to POST.
request.Method = "POST"; 
// Create POST data and convert it to a byte array.
string postData = "hello";
byte[] byteArray = ImageToByte(image);//Encoding.UTF8.GetBytes (postData);
byteArray = Encoding.UTF8.GetBytes(postData);
// Set the ContentType property of the WebRequest.
request.ContentType = "application/x-www-form-urlencoded";
// Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length;
// Get the request stream.
Stream dataStream = request.GetRequestStream ();
// Write the data to the request stream.
dataStream.Write (byteArray, 0, byteArray.Length);
// Close the Stream object.
dataStream.Close ();
// Get the response.
WebResponse response = request.GetResponse ();
// Display the status.
Console.WriteLine (((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Display the content.
Console.WriteLine (responseFromServer);
// Clean up the streams.
reader.Close ();
dataStream.Close ();
response.Close ();

What function should I use in php to receive the image file?

Upvotes: 0

Views: 677

Answers (2)

Nameless
Nameless

Reputation: 2366

Since you're not forming standartized post, you'll need to read directly from php input.

file_get_contents("php://input");

Upvotes: 1

Rijk
Rijk

Reputation: 11301

Provided your C# code produces a valid post request, you should be able to fetch it from the global $_POST array in PHP.

Upvotes: 0

Related Questions