2013-07-29 3 views
10

Ich versuche, ein JPEG-Bild direkt von einer URL-Adresse zu laden. Ich frage mich, ob es eine grundlegende Möglichkeit gibt, dies zu tun, indem Sie eine url Verbindung verwenden.So lesen Sie direkt eine Bilddatei von einer URL-Adresse in R

ich zum ersten Mal versucht:

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 auf der gleichen Linie zu sein scheint, aber für eine .png-Datei. Ich habe versucht, mich an ein .jpeg anzupassen, bekam aber auch einen Fehler.

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. 

Jede Hilfe würde sehr geschätzt werden!

Antwort

18

speichern Sie einfach das Bild als temporäre Datei:

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

Dank Thomas. Können Sie auch eine Möglichkeit bieten, die Datei 'z' nach dem Laden aus R zu löschen? –

+0

@Marcinthebox Nur hinzugefügt. – Thomas

+0

großartig! Danke vielmals. Prost. –