I have a JPEG encoded image that I loaded from the web using HTTP.get. How do I decode it using FileIO.load?
I would like to know both how to deal with data in an array instead of in the file system, and whether there’s a better way to load images straight from the web.
             
            
              
              
              2 Likes
            
            
           
          
            
            
              I think Images.jl is what you’re looking for, the Loading your first image section describes how to load an image from file.
             
            
              
              
              
            
            
           
          
            
            
              Thanks, but the idea is that I already have the data in memory and I want to decompress it straight from the array, avoiding to store it in a file first.
             
            
              
              
              
            
            
           
          
            
            
              It’s a bit awkward, but this should work:
using ImageMagick, ImageShow
bytes = read(joinpath(homedir(), "Desktop", "profile.jpg"))
ImageMagick.load_(bytes)
             
            
              
              
              1 Like
            
            
           
          
            
            
              Works like a charm, thanks a lot! No idea how I missed it!
             
            
              
              
              
            
            
           
          
            
            
              Well, it’s an internal interface and pretty hidden  FileIO should just support loading from
 FileIO should just support loading from Vector{UInt8}^^
             
            
              
              
              
            
            
           
          
            
            
              The following works for me
HTTP.get(url).body |> IOBuffer |> load
Tested with jpg and png, but maybe in some cases the format cannot be inferred and in this case the extension or the content-type should be used to determine the format.
             
            
              
              
              2 Likes