Scalatra - 文件上传 - 文件大小太大而不是错误

问题描述 投票:1回答:1

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

我试图上传的文件只有181个字节,但我不断收到文件太大的错误信息,但它不是太大。一切都在编译,IntelliJ没有显示任何错误。当我上传时,它显示错误页面,我期待“文件大小太大!”。

我已根据此处的Scalatra指南设置了MultipartConfig:Scalatra File Upload

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

我在这里错过了什么?

形成

<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应用程序启动器(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)
}
scala file-upload scalatra
1个回答
-1
投票

试试这个:

trait UploadServlet extends ScalatraServlet with FileUploadSupport with FlashMapSupport {
  configureMultipartHandling(multipartConfig.copy(maxFileSize = Some(50*1024*1024)))
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.