Click here to Skip to main content
15,905,781 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
Hi !
I want to upload image to fastpic.ru[^]

This is my code:
C#
public string UploadImageToFastPic(string uploadfile, string url,string fileFormName, string contenttype)
{
    if ((fileFormName == null) || (fileFormName.Length == 0))
    {
        fileFormName = "file";
    }

    if ((contenttype == null) || (contenttype.Length == 0))
    {
        contenttype = "application/octet-stream";
    }

    string boundary = "------WebKitFormBoundary" + DateTime.Now.Ticks.ToString("x");

    HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
    webrequest.CookieContainer = new CookieContainer();
    webrequest.ContentType = "multipart/form-data; boundary=" + boundary;
    webrequest.Method = "POST";


    // Build up the post message header
    StringBuilder sb = new StringBuilder();
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"");
    sb.Append(fileFormName);
    sb.Append("\"; filename=\"");
    sb.Append(Path.GetFileName(uploadfile));
    sb.Append("\"");
    sb.Append("\r\n");
    sb.Append("Content-Type: ");
    sb.Append(contenttype);
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"check_thumb\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("size");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"thumb_text\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("Увеличить");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"thumb_size\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("170");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"res_select\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("500");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"orig_resize\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("500");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"orig_rotate\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("0");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"jpeg_quality\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("75");
    sb.Append(boundary);
    sb.Append("Content-Disposition: form-data; name=\"submit\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("Загрузить");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("\r\n");
    sb.Append("Content-Disposition: form-data; name=\"uploading\"");
    sb.Append("\r\n");
    sb.Append("\r\n");

    sb.Append("1");
    sb.Append("\r\n");
    sb.Append(boundary);
    sb.Append("--");

    string postHeader = sb.ToString();
    byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);

    // Build the trailing boundary string as a byte array
    // ensuring the boundary appears on a line by itself
    byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");

    FileStream fileStream = new FileStream(uploadfile, FileMode.Open, FileAccess.Read);
    long length = postHeaderBytes.Length + fileStream.Length + boundaryBytes.Length;
    webrequest.ContentLength = length;

    Stream requestStream = webrequest.GetRequestStream();

    // Write out our post header
    requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);

    // Write out the file contents
    byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)fileStream.Length))];
    int bytesRead = 0;
    while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
        requestStream.Write(buffer, 0, bytesRead);

    // Write out the trailing boundary
    requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);
    WebResponse responce = webrequest.GetResponse();
    Stream s = responce.GetResponseStream();
    StreamReader sr = new StreamReader(s);

    return sr.ReadToEnd();
}


my code in form main :
C#
richTextBox_FullStory.Text = pro.UploadImageToFastPic("E:\\The Haves.jpg","http://fastpic.ru/uploadmulti", "file[]", "image/jpeg");


but I can't get link image uploaded to fastpic.ru
result of response still not upload image
somebody help me, please!!!!!
Posted
Comments
Sunasara Imdadhusen 29-May-13 4:41am    
Are you getting any error??
sergio090588 29-May-13 4:45am    
No error but result of response still content .html when not upload image successfully yet
sergio090588 29-May-13 12:45pm    
somebody help me, pls!!!!!!!!!!!
Sergey Alexandrovich Kryukov 30-May-13 12:33pm    
Doesn't it also require authentication?
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900