Restsharp: RestRequest.AddFile рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдирд╡ре░ 2010  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: restsharp/RestSharp

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ RestRequest рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИред

ResponseStatus рдХреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ "рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдЗрдЯреНрд╕ рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ рдмрд╛рдЗрдЯреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред"

рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд╛рдордЧреНрд░реА рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рдмрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдерд╛:

var req = GetRestRequest("Upload", Method.POST, null);
//req.AddFile("file",
//    (s) => {
//        var stream = input(imageObject);
//        stream.CopyTo(s);
//        stream.Dispose();
//    },
//    fileName, contentType);

req.Files.Add(new FileParameter {
    Name = "file",
    Writer = (s) => {
        var stream = input(imageObject);
        stream.CopyTo(s);
        stream.Dispose();
    },
    FileName = fileName,
    ContentType = contentType,
    ContentLength = contentLength
});   

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ .NET рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рд╣реЗрдбрд░ рд╕рд╣реА рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЬреЙрдирдлреБрд▓рд░ рдХреЗ рдирд╡реАрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рдирд╣реАрдВ рддреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред

рд╕рдорд╕реНрдпрд╛ рд╡рд╛рдкрд╕ рдЖ рдЧрдИред
рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ 105.2.3 (рдирдЧреЗрдЯ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рд░) рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде ~ 3.5рдПрдордмреА рдЖрдХрд╛рд░ рдореЗрдВред

105.1.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдм рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

StackOverflow (рдореЗрд░рд╛ рдирд╣реАрдВ) рдкреЛрд╕реНрдЯ рд╣реИ ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рдмрдЧ #769 рдФрд░ #742 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдореБрдЭреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╣реБрдЖред

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?

рдЯрдХреНрдХрд░ - рд▓рдЧрддрд╛ рд╣реИ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ

рд╣рд╛рдВ, рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ 105.1.0 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рд╕реЗ рднреА рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ

рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред

рдореБрдЭреЗ рд░реЗрд╕реНрдЯрд╢рд╛рд░реНрдк рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп
req.AddFile("call[Picture_attributes][file]", (s) => imageStream.CopyTo(s), GetRandomFileName("jpg"), "image/jpeg");

рдпрд╣ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ
req.AddFile ("рдХреЙрд▓ [Picture_attributes] [рдлрд╝рд╛рдЗрд▓]", imageStream.GetBytes (), GetRandomFileName ("jpg"), "image/jpeg");

рд╕рд╛рде

    public static byte[] GetBytes(this Stream s)
    {
        using (var ms = new MemoryStream())
        {
            s.CopyTo(ms);
            return ms.ToArray();
        }
    }

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдЗрдореЗрдЬрд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдмрд╛рдЗрдЯ рднреЗрдЬрддреЗ рд╕рдордп рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ [] рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдЗрд╕ рдмрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдерд╛:

var req = GetRestRequest("Upload", Method.POST, null);
//req.AddFile("file",
//    (s) => {
//        var stream = input(imageObject);
//        stream.CopyTo(s);
//        stream.Dispose();
//    },
//    fileName, contentType);

req.Files.Add(new FileParameter {
    Name = "file",
    Writer = (s) => {
        var stream = input(imageObject);
        stream.CopyTo(s);
        stream.Dispose();
    },
    FileName = fileName,
    ContentType = contentType,
    ContentLength = contentLength
});   

рдХреНрдпрд╛ RestRequest.AddFile .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ AddFile рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ #if FRAMEWORK рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @bcabrera рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдПрдХ рдЪреБрдиреМрддреА рд╣реЛрдЧреАред

.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдкреНрд░рдЧрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдореБрджреНрджреЗ рджреЗрдЦреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

instriker picture instriker  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thomasd3 picture thomasd3  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

weswitt picture weswitt  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DuBistKomisch picture DuBistKomisch  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ChenJasonGit picture ChenJasonGit  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ