Increase upload size

Hello, How can I increase the maximum file upload size in content -> file manager? Thank you!

You are talking about the maximum file size in the studio, right? It is set at 250Mb, but it seems that no matter how high this limit is there will always be someone who will want to increase it…

Oh wait I just realized that in the “Content -> File & Uploads” menu it shows “Maximum file size: 10 MB”. Is this what you are talking about? I have no idea how to modify this value.

Hi, you can reference this MR: https://github.com/edx/edx-platform/pull/5731 and this JIRA for more information: https://openedx.atlassian.net/browse/DOC-1401.

I didn’t read the entire discussion, but it seems that is restricted due to performance problems, you can change it using this setting: MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB but you should consider which value is defined as you may end up with performance issues.

Is there a way to change “MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB” value in cms/envs/common.py file inside the docker container?

you can write a patch and update it. It worked for me.

plugin name my-settings.yml

version: 1.0.0
patches:
        lms-env-features: |
                "ENABLE_THIRD_PARTY_AUTH": true,
                "DISABLE_STUDIO_SSO_OVER_LMS": true,
                "STUDIO_REQUEST_EMAIL": "test-email",
                "ENABLE_COURSE_DISCOVERY": false,
                "ENABLE_COURSEWARE_SEARCH": false,
                "ENABLE_DASHBOARD_SEARCH":  false
        cms-env-features: |
                "DISABLE_STUDIO_SSO_OVER_LMS": true,
                "STUDIO_REQUEST_EMAIL": "test-email"
        openedx-auth: |
                "SOCIAL_AUTH_OAUTH_SECRETS": {"google-oauth2": "secret_key"}
        lms-env: |
                "THIRD_PARTY_AUTH_BACKENDS": ["social_core.backends.google.GoogleOAuth2"]
        openedx-cms-production-settings: |
                MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB = 100

tutor plugins install my_settings.yml
tutor plugins list
tutor plugins enable my_settings
tutor config save

tutor local quickstart

Thanks @bvenkatr. Here my-settings.yml:

name: my-settings
version: 1.0.0
patches:
        openedx-cms-production-settings: |
                MAX_ASSET_UPLOAD_FILE_SIZE_IN_MB = 100

I installed and enable it, then save config and start as instructed above. But still my issue not resolved.

Actually my original issue is importing old courses into the new installed tutor. The file is almost 25MB. Importing are stacked in first step of “Uploading”:

Pressing F12, I see error in the console:
Failed to load resource: the server responded with a status of 413 ()

Also refreshing the “Course Import” page give this message:
image

I thought this error is related to this 10MB limit but now I’m not sure. Would you have advice regarding this?

My issue of importing courses files resolved and here is how for reference:

I traced back the javascript and found this error thrown by line 8599 in /static/studio/js/factories/base.js:

8490  jQuery.ajaxTransport(function(options) {
8491    var callback, errorCallback;
...
...
8596         try {
8597
8598           // Do send the request (this may raise an exception)
8599           xhr.send(options.hasContent && options.data || null); <== this line
8600         } catch (e) {
8601
8602           // #14683: Only rethrow if this hasn't been notified as an error yet
8603           if (callback) {
8604             throw e;
8605           }
8606         }
8607       },
...
...
8616   });

Seems that JQuery AJAX can’t send the file to server. I was looking in tutor logs but no error:
tutor local logs nginx

Looking in host nginx logs /var/log/nginx/error.log and found this error: client intended to send too large body which is resolved by adding line: client_max_body_size 100M; in openedx.conf and courses imported. Voila!

2 Likes

Thank you all for investigating this. The max uploaded file size will be increased to 100 Mb in the next release.

2 Likes