Я пытаюсь проанализировать файл, отправленный с помощью метода http CURL PUT. Я использую универсальный обработчик для анализа файла. Я создал общий обработчик для получения файла. Ниже приведен код ASP.Net:
Я не могу получить файл или содержимое. У меня есть какие-либо проблемы в моем коде?
Также ниже приводится сценарий CURL, который используется для отправки файла:
Пожалуйста, помогите мне, потому что это очень срочно для меня. Заранее большое спасибо.
public class Test : IHttpHandler
{</p>
<pre><code>public void ProcessRequest(HttpContext context)
{
string result = string.Empty;
try
{
context.Response.ContentType = "text/plain";
//VALIDATE FILES IN REQUEST
if (context.Request.Files.Count > 0)
{
try
{
//HANDLE EACH FILE IN THE REQUEST
foreach (HttpPostedFile item in context.Request.Files)
{
item.SaveAs(context.Server.MapPath("~/Temp/" + item.FileName));
context.Response.Write("FILE UPLOADED");
}
}
catch (Exception ex)
{
//NO FILES IN REQUEST TO HANDLE
context.Response.Write("ERROR: " + ex.Message);
}
}
else
{
//NO FILES IN REQUEST TO HANDLE
context.Response.Write("NO FILE(S) SENT");
}
context.Response.Write(result);
}
catch (Exception ex)
{
//result = "205";
context.Response.Write(ex.Message);
}
}
public bool IsReusable
{
get
{
return false;
}
}
function putRequest($url, $data)
{
$putData = tmpfile();
fwrite($putData, $data);
fseek($putData, 0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_INFILE, $putData);
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($data));
curl_setopt($ch, CURLOPT_PUT, true);
curl_exec($ch);
$headers = curl_getinfo($ch);
fclose($putData);
curl_close($ch);
return $headers['http_code'];
}
$url= " http://api.domain.com/upload/ ";
$data = "21.2,1000,1,2,3,4,5,6,7,8,9";
echo "Starting the put request<br />";
$ret = putRequest($url,$data);
echo "Returned code: $ret<br />";