diff --git a/frappe/boot.py b/frappe/boot.py index 5042693b77..43f9737929 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -151,9 +151,10 @@ def get_letter_heads(): def load_conf_settings(bootinfo): - from frappe.core.api.file import get_max_file_size + from frappe.core.api.file import get_file_chunk_size, get_max_file_size bootinfo.max_file_size = get_max_file_size() + bootinfo.file_chunk_size = get_file_chunk_size() for key in ("developer_mode", "socketio_port", "file_watcher_port"): if key in frappe.conf: bootinfo[key] = frappe.conf.get(key) diff --git a/frappe/core/api/file.py b/frappe/core/api/file.py index 5e29ba9f99..633a00a8f4 100644 --- a/frappe/core/api/file.py +++ b/frappe/core/api/file.py @@ -90,6 +90,10 @@ def get_max_file_size() -> int: ) +def get_file_chunk_size() -> int: + return cint(frappe.conf.get("file_chunk_size")) or 25 * 1024 * 1024 + + @frappe.whitelist() def create_new_folder(file_name: str, folder: str) -> File: """create new folder under current parent folder""" diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 7decdb0019..9edfa656c1 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -572,7 +572,7 @@ function return_as_dataurl() { async function upload_file(file, i) { currently_uploading.value = i; - const CHUNK_SIZE = 500 * 1024; // 500KB chunks + const CHUNK_SIZE = frappe.boot.file_chunk_size; const use_chunks = file.file_obj && file.file_obj.size > CHUNK_SIZE; const total_chunks = use_chunks ? Math.ceil(file.file_obj.size / CHUNK_SIZE) : 1;