我正在尝试使用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)))
...
}