获取用户输入Play框架scala

时间:2020-01-26 16:54:28

标签: scala playframework

我开始学习Play框架和前端开发,正在编写一个简单的应用程序,我希望用户上传文件并输入文本输入,然后根据文本输入修改文件。我的问题是,我无法从相同的方法中获取文件输入的文本输入。

  def upload = Action(parse.multipartFormData(handleFilePartAsFile)) { implicit request =>

    val fileOption = request.body.file("Xml To Json Converter").map {
      case FilePart(key, filename, contentType, file, fileSize, dispositionType) =>
        logger.info(s"key = $key, filename = $filename, contentType = $contentType, file = $file, fileSize = $fileSize, dispositionType = $dispositionType")

    val txtInput = ???
    val output = modifyFile(file, txtInput)

  Ok(views.html.displayModifiedFile(output)
  }.getOrElse("Error")

我试图使用此代码获取文本输入,

  def modifyFile: Action[AnyContent] = Action {

    request =>
    val inputData = request.body.asFormUrlEncoded
    inputData.map { args =>
    val someTextInput = args("textData").head
    Ok(views.html.someFile)
  }.getOrElse(OK("Error"))

但是上面的方法返回了 Action 类型,我只想从请求中获取文本字符串。 我需要在一个方法中以字符串的形式获取上载的文本文件和文本输入,以便我进行操作。我正在使用两个不同的http请求,一个用于上传文件,一个用于根据文本输入修改文件。 这可能是基本的东西,任何帮助将不胜感激

Scala版本-2.13
播放框架版本-2.8

0 个答案:

没有答案