PDA

View Full Version : آپلود فایل در mediafire



limpizik
دوشنبه 25 خرداد 1394, 09:25 صبح
سلام دوستان.
اینجا کسی هست که برای آپلود فایل در mediafire کد نوشته باشه؟
با رفتن به این لینک (https://www.mediafire.com/developers/tools/api_tools/) شما میتونید session مربوط به خودتون رو بگیرید (با وارد کردن یوزر و پسوردتون)
و برای آپلود از کد زیر استفاده میکنم و مقادیر رو با متد post ارسال میکنم


private static string url = "HTTPS://www.mediafire.com/api/1.3/upload/simple.php?session_token=ed007dc432d5081952c15c50a 3f5c4dade894927dbcb8c44a59c6aefag6bd1d293f90434bfa 7bcd13d284069aabfa528623601a39b7026ca534acf21a6de1 0343543e271ac5a44ca&action_on_duplicate=&response_format=json";
try
{
string posturl = url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(posturl);
byte[] bytes;
bytes = File.ReadAllBytes(@"G:\Untitled.jpg");


request.Headers.Clear();
request.Method = "POST";
request.Headers.Add(HttpRequestHeader.AcceptLangua ge, "en-US,en;q=0.8,fa;q=0.6");
request.Headers.Add(HttpRequestHeader.AcceptEncodi ng, "gzip, deflate");
request.ContentType = "multipart/form-data";
request.Referer = @"https://www.mediafire.com/developers/tools/api_tools";
request.ContentLength = bytes.Length;




Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
string responseStr = new StreamReader(responseStream).ReadToEnd();
textBox1.Text = responseStr;
// return responseStr;
}
}
catch (Exception s)
{
MessageBox.Show("Session Token Error. " + s.Message);
}
و با این error مواجه میشم :
session token error. the server committed a protocol violation.section=ResponseStatusLine
تجربه جالبیه لطفا دوستان کمک کنند

limpizik
سه شنبه 26 خرداد 1394, 14:16 عصر
مثل اینکه دوستان توجهی نکردند :ناراحت:
من یک قطعه کد php پیدا کردم که این کار رو انجام میده که به شکل زیر هست :

$filecontents = file_get_contents("G:\Untitled.jpg");$filesize = strlen($filecontents);
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=> "x-filename : ANYFILENAMEYOUWANT\r\n".
"x-filesize : $filesize\r\n"
)
);
$context = stream_context_create($opts);
$params = http_build_query(array(
"session_token" => $session
));
$fp = fopen('http://www.mediafire.com/api/upload/upload.php?'.$params, 'r', false, $context);
fwrite($fp, $filecontents);
$result = stream_get_contents($fp);
fclose($fp);

حالا میخام این post method ها رو به C#‎‎‎‎‎‎‎‎ ترجمه کنم :
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(posturl);
byte[] bytes;
bytes = File.ReadAllBytes(@"G:\Untitled.jpg");


request.Method = "POST";
request.Headers.Add("x-filename : ", "file.jpg");
request.Headers.Add("x-filesize : ", bytes.Length.ToString());
request.ContentType = "multipart/form-data";
request.ContentLength = bytes.Length;




Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();

اما عمل نمیکنه.
ممنون میشم کمک کنید

limpizik
جمعه 29 خرداد 1394, 16:15 عصر
دوستان.کسی نیست کمک کنه!!!

سیدجواد
دوشنبه 30 آذر 1394, 19:58 عصر
سلام
تونستید مشکل کد رو حل کنید؟
اگه آره، لطف میکنید بگید چطوری؟
ممنون

ژیار رحیمی
دوشنبه 30 آذر 1394, 20:38 عصر
سلام به لینک های زیر مراجعه کن
http://stackoverflow.com/questions/28365754/how-to-receive-mediafires-api-information
http://stackoverflow.com/questions/25854498/upload-file-to-mediafire-with-c-sharp
http://tjsa.info/2012/09/25/801/