Загрузка картинки на сайт по http - C#
Формулировка задачи:
Есть скрипт загрузки картинки(на php)
Как загрузить картинку на сайт и проверить ответ сервера с помощью c#?
<?php
if (isset ($_POST['ok']))
{
$file = $_FILES['file']['name'];
$tmp = $_FILES['file']['tmp_name'];
$ext = strtolower(end(explode('.', $file)));
$dir = 'upload/';
$new_name = strtolower(substr(md5(time()*mktime()*rand()), 0, 8));
$ext2 = array('jpeg','jpg','gif','png');
if ($_FILES['file']['error'] > 0)
{
switch ($_FILES['file']['error'])
{
case 1:
echo '<p>Файл не может быть больше 2 мб</p>';
break;
case 2:
echo '<p>Файл не может быть больше 2 мб</p>';
break;
case 3:
echo '<p>Загружаемый файл был получен только частично</p>';
break;
case 4:
echo '<p>Вы не выбрали файл</p>';
break;
}
}
else
{
if (!is_dir($dir))
mkdir($dir);
else
{
if (in_array ($ext, $ext2))
{
if (getimagesize($tmp))
{
if (filesize($tmp) < 2000000)
{
if (is_uploaded_file ($tmp))
{
if (move_uploaded_file($tmp, $dir.$new_name.'.'.$ext))
echo 'Файл успешно загружен';
else
echo 'Ошибка загрузки, попробуйте еще раз';
}
}
else
echo 'Файл превышает 2 мб';
}
else
echo '<p>Вы загружаете не картинку</p>';
}
else
echo '<p>Неверный формат</p>';
}
}
}
?>Решение задачи: «Загрузка картинки на сайт по http»
textual
Листинг программы
using xNet.Net;
...
CookieDictionary cook = new CookieDictionary();
private void button1_Click(object sender, EventArgs e)
{
using (var req = new HttpRequest())
{
req["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
req.Cookies = cook;
req.Referer = "http://****************/";
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0";
MultipartDataCollection multi = new MultipartDataCollection();
multi.AddField("upload", "yes");
multi.AddField("GEO_POINT_ID", "");
multi.AddFile("F", "t8g-t6MMSxw.jpg", true, "image/jpeg");
multi.AddField("URLF", "");
multi.AddField("M", "640");
multi.AddField("JQ", "85");
multi.AddField("IM", "7");
multi.AddField("VM", "180");
multi.AddField("R", "0");
multi.AddField("VE", "yes");
multi.AddField("V", "ГђВЈГђВІГђµГђ»ГђВёГ‘‡ГђВёГ‘‚Г‘Е’");
multi.AddField("X", "");
multi.AddField("FS", "");
string content = req.Post("http://****************/action.aspx", multi).ToString();
using (var write = new StreamWriter("content.html"))
write.Write(content);
}
}