Is there anyway to get File(image) with a regular get Http requset in elm?

Sorry if this is a noobie question but I have being looking at this for sometime now and always thought I am missing something really obvious but time has passed by and I don’t seem to understand what is it that I am missing.

I just want to make a regular request something like the following

getFromS3 : UploadCreds -> Cmd Msg
getFromS3 creds =              
    Http.request
    { method = "GET"           
    , headers = 
        [
           Http.header "X-Amz-Signature" creds.credentials.signature                                                                                                                                                               
        ]
    , tracker = Nothing        
    , timeout = Nothing        
    , body = Http.emptyBody    
    !!!!!!, expect =   ?? Http.expectByte or something  with File.decoder probably ? !!!!!!
    , url = "https://images.s3.amazonaws.com/users/user.jpg"                                                                                                                                       
    } 

the problem is that I want to get images from the with a get method because I need credentials
I can’t just directly use the url in an img src.

is there anyway to create a custom method that would work like Http.expectFile would so I can just get the FIle ?

I think the common way of doing this is using presigned URLs:
https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html

1 Like

Most probably the appropriate solution for my case indeed. But I was wandering wether a method exist to get a file with the a request because in a different case I might want to get a pdf file for example. But I mark your response as solution because it is the solution to the particular problem in the my topic.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.