2013-12-23 6 views
0

Я загрузки файла с помощью завиток:Получить имя загруженного файла

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 для имени файла и двоичная часть для файла.
Смежные вопросы