http://www.perlmonks.org?node_id=1212646


in reply to POST file through REST::Client [SOLVED]

Here is something to try:
my $headers = { "Content-type" => 'multipart/form-data; boundary=--- +-MyRestAPIClientDataDelimiter',

                Memory fault   --   brain fried

Replies are listed 'Best First'.
Re^2: POST file through REST::Client
by thanos1983 (Parson) on Apr 11, 2018 at 08:23 UTC

    Hello NetWallah,

    Apologies for the late reply but I got busy with something else and I did not get the time to test it until now.

    After your proposed modification I have updated the method to:

    sub postSnippetsFile { my ( $self, %options ) = @_; my $headers = { "Content-type" => 'multipart/form-data; boundary=- +---MyRestAPIClientDataDelimiter', # "Content" => [ 'file' => [$options{file}]], "Authorization" => 'Basic '. encode_base64($options{username}.':'. $options{password}), }; $self->{_client}->POST( $options{url}, encode_json({file => $options{file}}), $headers ); return $self->{_client}->responseContent(); }

    Now I am getting the following error (from server):

    $VAR1 = 'AttributeError at /upload/ \'NoneType\' object has no attribute \'name\' . . .

    Hmmm this I need to debug it, but from a quick point of view it looks like the file is not attached through the request. But this is a good point forward. I appreciate your effort to help me.

    BR / Thanos

    Seeking for Perl wisdom...on the process of learning...not there...yet!
Re^2: POST file through REST::Client
by Anonymous Monk on Apr 10, 2018 at 18:42 UTC

    Hi,

    thats a job for "LWP" (HTTP::Request::Common)

      Hello Anonymous Monk,

      Maybe I should change to another module, it gets very complicated for no reason.

      BR / Thanos

      Seeking for Perl wisdom...on the process of learning...not there...yet!

        Maybe I should change to another module

        My message meant to not bother trying that, as it has zero chance of changing anything. If your car has a flat tire, putting a sticker on the rear bumper won't fix it.

        it gets very complicated for no reason.

        If curl is working for you, why learn something new?