2011-06-26 13 views
6

HTML5仕様では、複数のファイルを<input type="file", ..., multiple="multiple">で一度にアップロードできます。 Rook Rパッケージでこれを利用する方法はありますか?Rookで複数のファイルをアップロード

は、ここに私の試みだが、それだけで、選択したファイルのいずれかを示しているようだ:

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

うーん...あなたはルークのメーリングリストにこれを送信することもできます。私はRApacheで複数のファイルをアップロードすることが可能であることを知っています。 – aL3xa

答えて

4

仕様がまだ完全にはサポートされていません。私はちょうどChrome 12.0.742.100で試してみました。ブラウザインターフェイスでは複数のファイルを選択することさえできません。

は、あなたがそうのような複数の入力要素を作成することになるでしょう複数のファイルをアップロードするには:

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

答えをありがとう。 Firefox 4.xで複数のファイルを*選択できましたが、Rook環境では表示されませんでした。 –

関連する問題