gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 15:23:41 26 4
gpt4 key购买 nike

我有一个项目,其中有一个用 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, status, headers, 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 .

关于angularjs - 如何修复 413 HTTP 请求实体太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com