加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何修复413 HTTP请求实体太大

发布时间:2020-12-17 07:14:52 所属栏目:安全 来源:网络整理
导读:我有一个项目,我有一个简单的客户端用 angularjs编写,服务器在scala中,在我的客户端我有一个简单的上传按钮,你点击它并选择一个本地文件(csv),当我上传一个特定的csv这有点大,就像我得到的6000行 413 Request entity too large 我上传的js代码是: $scope.up
我有一个项目,我有一个简单的客户端用 angularjs编写,服务器在scala中,在我的客户端我有一个简单的上传按钮,你点击它并选择一个本地文件(csv),当我上传一个特定的csv这有点大,就像我得到的6000行

413 Request entity too large

我上传的js代码是:

$scope.upload = function(files) {
    if (!files || !files.length) {
    } else {
      for (var i = 0; i < files.length; i++) {
        var file = files[i];
        Upload.upload({
            url: '/uploadFile',file: file
        }).
        }).success(function (data,status,headers,config) {
        }).error(function (data,config) {
            $scope.showServerError(status,data);
        })
      }
    }
  };

在服务器中是:

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

    request.body.file("file").fold {
      BadRequest("Missing file")
    } { uploadedFile => {

      val localFile = new File("/tmp/" + uploadedFile.ref.file.getName)

      Files.copy(uploadedFile.ref.file.toPath,localFile.toPath,StandardCopyOption.REPLACE_EXISTING)
      localFile.deleteOnExit()
      val j = Json.parse( ${Crypto.encryptAES(localFile.getAbsolutePath)}})
      Ok(j)
    }}
  }

需要改变什么才能支持更大的文件?

解决方法

您可以使用 maxLength正文解析器以字节为单位指定正文的最大大小:

// Allow up to 15MB files...
private val uploadParser = parse.maxLength(15*1024*1024,parse.multipartFormData)

def uploadFile = Action(uploadParser) { implicit request =>
  ...
}

多部分表单数据的默认值为10MB,您也可以通过更改play.http.parser.maxDiskBuffer设置来覆盖它.见docs.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读