From 802bcd8cbd03d426ea8429ccecc25852f3abea97 Mon Sep 17 00:00:00 2001 From: "Allen.Guo" <5418150+toddlerya@users.noreply.github.com> Date: Tue, 1 Jan 2019 09:22:09 +0800 Subject: [PATCH] set threshold for large files (#558) --- lib/file.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/file.go b/lib/file.go index 8501fb6d..d37c104e 100644 --- a/lib/file.go +++ b/lib/file.go @@ -23,6 +23,10 @@ import ( "github.com/maruel/natural" ) +// The size of the loaded text can be rendered in the browser. Avoiding files that are too large causes browsers to crash. +// Currently set to 10MB, 10 * 1024 * 1024 = 10485760 byte +const textExtensionsRenderMaxSize int64 = 10485760 + // File contains the information about a particular file or directory. type File struct { // Indicates the Kind of view on the front-end (Listing, editor or preview). @@ -268,7 +272,7 @@ func (i *File) GetFileType(checkContent bool) error { End: // If the file type is text, save its content. - if i.Type == "text" { + if i.Type == "text" && i.Size <= textExtensionsRenderMaxSize { // Avoiding files that are too large causes browsers to crash if len(content) == 0 { content, err = ioutil.ReadFile(i.Path) if err != nil {