2011-06-26 33 views
6

HTML5 belirtimi, birden fazla dosyanın <input type="file", ..., multiple="multiple"> aracılığıyla bir kerede yüklenmesine izin verir. Rook R paketi ile bundan faydalanmanın bir yolu var mı? İşte Rook ile çoklu dosya yükleme

denemem var, ancak yalnızca seçilen dosyalardan birini göstermek görünüyor:

library(Rook) 

app <- function(env) { 
    req <- Rook::Request$new(env) 
    res <- Rook::Response$new() 
    res$write(
    '<html><body> 
     Select files: 
     <form method="POST" enctype="multipart/form-data"> 
     <input type="file" name="data" multiple="multiple"> 
     <input type="submit" name="Upload"> 
     </form> 
    </body></html>') 

    if (!is.null(req$POST())){ 
    data <- req$POST()[['data']] 
    res$write("<pre>") 
    res$write(paste(capture.output(req$POST(),file=NULL),collapse='\n')) 
    res$write("</pre>") 
    res$write("<pre>") 
    res$write(paste(capture.output(data$filename,file=NULL),collapse='\n')) 
    res$write("</pre>") 
    } 
    res$finish() 
} 

s <- Rhttpd$new() 
s$add(app=RhttpdApp$new(name="app", app=app)) 
s$start(listen="127.0.0.1", quiet=FALSE) 
s$browse(1) 

#s$stop(); s$remove(all=TRUE); rm(s) 
+0

Hmmm ... Eğer Rook posta listesine bu göndermek isteyebilirsiniz. RApache ile birden fazla dosya yüklemek mümkün olduğunu biliyorum. – aL3xa

cevap

4

Spec henüz tam olarak desteklenmez; Chrome 12.0.742.100'ü denedim ve tarayıcı arayüzü birden fazla dosya seçmesine bile izin vermiyor.

bunu gibi birden fazla giriş öğeleri oluşturmak isteyecektir birden fazla dosya yüklemek için:

<input type="file" name="file1">... 
<input type="file" name="file2">... 
... 
+0

Cevabınız için teşekkürler. Firefox 4.x ile * birden fazla dosya seçebildim, ancak onları Rook ortamında görmedim. –