ichechen
30.04.2010, 20:23
Итак, есть код, код который должен закачивать файлы на хост посредством HTTP
Private Function FUPD(ByVal localFilePath As String, ByVal remoteFilePath As String)
Try
Dim request As WebRequest = WebRequest.Create(http_URL & "/core.php")
request.Method = "POST"
Dim postData As String = "OP=UPD&pr1=" & remoteFilePath & "&pr2=" & File.ReadAllText(localFilePath)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = postData.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(System.Text.Encoding.Default.GetB ytes(postData), 0, System.Text.Encoding.Default.GetBytes(postData).Le ngth)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
' If responseFromServer <> Nothing Then MsgBox(responseFromServer)
reader.Close()
dataStream.Close()
response.Close()
Return true
Catch ex as Exception
Return false
End Try
End Function
На приеме сидит пэйчпи скрипт
<?php
$curOp=$_POST['OP'];
$arg_1=$_POST['pr1'];
$arg_2=$_POST['pr2'];
//DO COMPORATION
switch ($curOp)
{
case 'UPD':
$handle = fopen("$arg_1","w");
fclose($handle);
fwrite($handle,"$arg_2");
case 'DWN':
if (file_exists($arg_1))
{
echo file_get_contents("$arg_1");
}
break;
}
exit;
?>
С закачкой текстовых файлов проблем никаких не возникает, но как только дело касается чего то иного - ужс, файлы появляются.. с нулевой длиной((
Как бы это дело исправить?
По ходу проблема возникаеи из-за:
File.ReadAllText(localFilePath)
Так, как считать текст из бинарного файла - идея плохая)) Что с этим можно поделать?
Устраивают любые варианты закачки, главное чтобы код закачивал ЛЮБЫЕ файлы через HTTP
Код пойдет как на Vb.net так и на C#
Заранее спасибо ;)
Private Function FUPD(ByVal localFilePath As String, ByVal remoteFilePath As String)
Try
Dim request As WebRequest = WebRequest.Create(http_URL & "/core.php")
request.Method = "POST"
Dim postData As String = "OP=UPD&pr1=" & remoteFilePath & "&pr2=" & File.ReadAllText(localFilePath)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = postData.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(System.Text.Encoding.Default.GetB ytes(postData), 0, System.Text.Encoding.Default.GetBytes(postData).Le ngth)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
' If responseFromServer <> Nothing Then MsgBox(responseFromServer)
reader.Close()
dataStream.Close()
response.Close()
Return true
Catch ex as Exception
Return false
End Try
End Function
На приеме сидит пэйчпи скрипт
<?php
$curOp=$_POST['OP'];
$arg_1=$_POST['pr1'];
$arg_2=$_POST['pr2'];
//DO COMPORATION
switch ($curOp)
{
case 'UPD':
$handle = fopen("$arg_1","w");
fclose($handle);
fwrite($handle,"$arg_2");
case 'DWN':
if (file_exists($arg_1))
{
echo file_get_contents("$arg_1");
}
break;
}
exit;
?>
С закачкой текстовых файлов проблем никаких не возникает, но как только дело касается чего то иного - ужс, файлы появляются.. с нулевой длиной((
Как бы это дело исправить?
По ходу проблема возникаеи из-за:
File.ReadAllText(localFilePath)
Так, как считать текст из бинарного файла - идея плохая)) Что с этим можно поделать?
Устраивают любые варианты закачки, главное чтобы код закачивал ЛЮБЫЕ файлы через HTTP
Код пойдет как на Vb.net так и на C#
Заранее спасибо ;)