PDA

Просмотр полной версии : [VB.NET | C#] Проблема с закачкой


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#
Заранее спасибо ;)

cheater_man
30.04.2010, 21:19
Попробуй BinaryReader

ichechen
30.04.2010, 21:44
Попробуй BinaryReader
Можешь код привести? Я просто до селе не работал с бинариридер :-[