2013-12-23 116 views
0

的名字,我上傳使用curl文件:獲取上傳的文件

curl -X POST --data-binary @/home/me/my_file.jpb localhost:9001/upload 

這裏是存儲方法:

def upload = Action(parse.temporaryFile) { 
    request => 
     import java.io.File 

     val f = new File("tmp/someName") // how do I get the name of the file being uploaded? 
     request.body.moveTo(f, true) 
     Ok("File uploaded\n") 
    } 

注意,文件可以是任何格式。我想獲取實際上傳的文件的名稱。我試過request.body.file.getName,但它返回亂碼。

我該怎麼做?

+0

如果一切都失敗,請嗅探電線(端口9001)。我很確定@Vidya是正確的,並且「my_file.jpb」不會出現在傳輸數據的任何地方。 –

回答

1

我相當肯定你不能從你通過curl上傳的二進制流中獲得文件名。您需要分別明確提供文件名。

我能想到的選項是這些:

  • 如果您Content-Type頭是不是multipart/form-data,那麼這個過程是描述here
  • 上傳JSON與String爲文件名和一個很簡單的二進制文件部分。