我正在使用libcurnet发布一些字段和html或pdf文件到服务器。我张贴字段,但不能上传文件到服务器。这是我的代码:
公共静态空主( Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);args) {尝试{String[] FileStream fs =新FileStream(args,FileMode.Open,FileAccess.Read,FileShare.Read);easy = new Easy();Easy.ReadFunction rf =新Easy.ReadFunction(OnReadData);easy.SetOpt(CURLoption.CURLOPT_READFUNCTION,rf);easy.SetOpt(CURLoption.CURLOPT_UPLOAD,true);easy.SetOpt(CURLoption.CURLOPT_PUT,真);easy.SetOpt(CURLoption.CURLOPT_URL,args1);easy.SetOpt(easy.SetOpt,fs);(,);easy.SetOpt(CURLoption.CURLOPT_PROGRESSFUNCTION,pf;Easy.DebugFunction wf =新Easy.ProgressFunction (OnWriteData);easy.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION,wf);easy.SetOpt(easy.SetOpt,wf);(#en20 20#,“Mozilla4.0(兼容;MSIE6.0);easy.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION,Win32");easy.SetOpt(CURLoption.CURLOPT_POST,true);easy.SetOpt(CURLoption.CURLOPT_VERBOSE,1);easy.SetOpt(CURLoption.CURLOPT_STDERR,0);easy.Perform();easy.Cleanup();fs.Close();Curl.GlobalCleanup();} catch (异常ex) { Console.WriteLine(ex);}}
我不知道问题出在哪里。
发布于 2011-03-21 02:30:59
尝试使用fiddler2监视TCP流,特别是头部分,并将其与从浏览器执行手动上载进行比较。
发布于 2011-08-01 07:29:42
我想,您从这里下载的库本身。如果是,尝试使用来自/samples/FileUpload.cs的上载示例
就像这样。
MultiPartForm mf = new MultiPartForm();
// <input type="File" name="f1">
mf.AddSection(CURLformoption.CURLFORM_COPYNAME, "uploadedfile",
CURLformoption.CURLFORM_FILE, "C:\\My Files\myUploadFile.exe",
CURLformoption.CURLFORM_CONTENTTYPE, "application/binary",
CURLformoption.CURLFORM_END);
Easy easy = new Easy();
easy.SetOpt(CURLoption.CURLOPT_HTTPPOST, mf);
easy.SetOpt(CURLoption.CURLOPT_URL, "localhost/uploader.php");不要忘记在服务器上更改php.ini中的“php.ini”,以获取超过2Mb的文件。
在文件"uploader.php“中,您需要编写类似的内容。
<?php
$target_path = "/uploaded/". basename( $_FILES["uploadedfile"]["name"]);
if(move_uploaded_file($_FILES["uploadedfile"]["tmp_name"], $target_path))
{
echo "[File Upload Successful]";
}
else
{
echo "[File Upload Error]";
}
?>https://stackoverflow.com/questions/5372079
复制相似问题