Okay. Tusind tak.
Fik det løst.
Først havde jeg programmeret mit PHP script så den brugte if($_POST["Submit"]) - og så kunne den åbenbart ikke få sendt min formular.
Så prøvede jeg at ændre min formular så dens action blev sat til ind.php (så glemte jeg efterfølgende egentlig bare at ændre URL'en til actionen i stedet for formularen.)
Det virker perfekt nu, og jeg bruger cURL, som faktisk gør det overraskende hurtigt!
Og synes egentlig også det er mere overskueligt og lettere end alle de andre måder jeg har set folk på nettet løse det på.
Hvis folk skulle være interesseret i den ser den således ud:
try
{
Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);
// <form action="
http://mybox/cgi-bin/myscript.cgi // method="post" enctype="multipart/form-data">
MultiPartForm mf = new MultiPartForm();
// mf.AddSection(CURLformoption.CURLFORM_COPYNAME, "userid", CURLformoption.CURLFORM_COPYCONTENTS, "1", CURLformoption.CURLFORM_END);
// <input type="File" name="f1">
mf.AddSection(CURLformoption.CURLFORM_COPYNAME, "userfile", CURLformoption.CURLFORM_FILE, file, CURLformoption.CURLFORM_CONTENTTYPE, "image/jpeg", CURLformoption.CURLFORM_END);
Easy easy = new Easy();
Easy.DebugFunction df = new Easy.DebugFunction(OnDebug);
easy.SetOpt(CURLoption.CURLOPT_DEBUGFUNCTION, df);
easy.SetOpt(CURLoption.CURLOPT_VERBOSE, true);
Easy.ProgressFunction pf = new Easy.ProgressFunction(OnProgress);
easy.SetOpt(CURLoption.CURLOPT_PROGRESSFUNCTION, pf);
easy.SetOpt(CURLoption.CURLOPT_URL, url);
easy.SetOpt(CURLoption.CURLOPT_HTTPPOST, mf);
easy.Perform();
easy.Cleanup();
mf.Free();
Curl.GlobalCleanup();
}
catch (Exception ex)
{
myErrorLabel.Text = ex.ToString();
}
public static Int32 OnProgress(Object extraData, Double dlTotal,
Double dlNow, Double ulTotal, Double ulNow)
{
MessageBox.Show("Progress: {0} {1} {2} {3}",
dlTotal, dlNow, ulTotal, ulNow);
return 0; // standard return from PROGRESSFUNCTION
}
public static void OnDebug(CURLINFOTYPE infoType, String msg,
Object extraData)
{
MessageBox.Show(msg);
}