Ich habe ein Projekt, wo ich einen einfachen Client in angularjs geschrieben habe und der Server ist in Scala, in meinem Client habe ich eine einfache Upload-Taste, wo Sie klicken Sie auf und wählen Sie eine lokale Datei (cSV), und wenn ich eine bestimmte csv hochladen, die ein wenig zu groß ist, wie 6000 Zeilen ichWie zu beheben 413 HTTP Request Entity zu groß
413 Angeforderte Entität zu groß
mein js Code für den Upload ist:
$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);
})
}
}
};
in dem Server ist:
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)
}}
}
was braucht Veränderung sein, um größere Dateien zu unterstützen?
Ich habe versucht, play.http.parser.maxMemoryBuffer = 20M zu setzen, weil ich Uploads bis zu 20 MB unterstützen will und es nicht funktioniert ... weißt du warum? schreibe ich es ok? –
@jackmiao hast du versucht, "maxDiskBuffer" ** zu ändern? – Mikesname
ja ... das ist, was ich 'play.http.parser.maxMemoryBuffer = 20M' in application.conf gemacht habe –