Scalatra - 文件上传 - 文件大小太大时出错



我正在尝试使用Scalatra版本上传文件:2.4.0。

我试图上传的文件只有181个字节,但是我的文件大小的错误消息太大,但是它并不太大。一切都在编译,Intellij没有显示错误。上传时,它显示了我期望的"文件大小太大!"的错误页面。

我已经根据Scalatra指南设置了MultipartConfig:Scalatra文件上传。

现在,我只是在尝试上传工作,所以我只是在打印到控制台,我将在请求中使用该文件。

我在这里缺少什么?

form

<form action="/upload" method="post" enctype="multipart/form-data">
  <div class="form-group">
    <label class="btn btn-primary" for="file-selector">
      <input id="file-selector" name="the-file" type="file" style="display:none;" onchange="$('#upload-file-info').html($(this).val());" />
        Choose File
    </label>
    <span class='label label-info' id="upload-file-info"></span>
  </div>
  <button type="submit" class="btn btn-primary">Upload</button>
</form>

servlet

trait UploadServlet extends BaseServlet with FileUploadSupport {
  error {
    case e:
      SizeConstraintExceededException => {
      RequestEntityTooLarge("File size too large!")
    }
  post("/upload") {
    Console.println("Yo Yo Ma")
  }
}

Web App Launcher(webapplauncher.scala)

myApp.webapp.servletsMap.foreach { case (path, servlet) =>
  val holder = context.addServlet(servlet, path + "*")
  holder.getRegistration.setMultipartConfig(
    MultipartConfig(
      maxFileSize       = Some(5 * 1024 * 5000),
      fileSizeThreshold = Some(5 * 1024 * 5000)).toMultipartConfigElement)
}

尝试以下:

trait UploadServlet extends ScalatraServlet with FileUploadSupport with FlashMapSupport {
  configureMultipartHandling(multipartConfig.copy(maxFileSize = Some(50*1024*1024)))
  ...
}

最新更新