2013-07-29 13 views
10

Sto provando a caricare direttamente un'immagine .jpeg da un indirizzo URL. Mi chiedo se esiste un modo semplice per farlo utilizzando una connessione url.Come leggere direttamente un file immagine da un indirizzo URL in R

ho provato:

require(biOps) 
con <- url("http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg") 
pic <- readJpeg(con) 
#Error in readJpeg(con) : Cannot open file. 

This other question sembra essere sulla stessa linea, ma per un file .png. Ho provato ad adattarmi a un .jpeg, ma ho anche ricevuto un errore.

require(biOps) 
require(RCurl) 
myurl <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg" 
pic <- readJpeg(getURLContent(myurl)) 
#Error in readJpeg(getURLContent(myurl)) : Cannot open file. 

Qualsiasi aiuto sarebbe molto apprezzato!

risposta

18

Basta salvare l'immagine come un file temporaneo:

myurl <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg" 
z <- tempfile() 
download.file(myurl,z,mode="wb") 
pic <- readJPEG(z) 
file.remove(z) # cleanup 
+0

Grazie Thomas. Puoi anche fornire un modo per eliminare il file 'z' da R dopo il caricamento? –

+0

@Marcinthebox L'ho appena aggiunto. – Thomas

+0

fantastico! Molte grazie. Saluti. –

Problemi correlati