Google Cloud - Django - OSError: [Errno 30] Файловая система только для чтения

Я развернул свой проект django на облаке google. Один из модулей моего приложения включает загрузку файлов. Когда я загружаю файлы на локальный сервер, файлы успешно загружаются, но когда я пытаюсь загрузить файлы с производственного сервера, он выдает следующую ошибку:

OSError at /uploadrecords [Errno 30] Файловая система только для чтения: '/workspace/media/test.pdf'

Ниже приведен мой код для загрузки файлов и настройки:

#views.py    


    image = request.FILES['filerecord']
    fs = FileSystemStorage()
    filename = fs.save(image.name, image)
    obj.upfile = fs.url(filename)
    obj.save()
    
    #setting.py

    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    #MEDIA_ROOT = BASE_DIR / "media"

Пожалуйста, предложите мне решение

Я предполагаю, что вы используете стандартный App Engine.

Файловая система размещаемых приложений ограничена:

https://cloud.google.com/appengine/docs/standard/python3/using-temp-files

Вы можете использовать /tmp для временного хранения загрузок.

Вы можете рассмотреть, например, Google Cloud Storage для постоянного хранения файлов.

Вернуться на верх