繁体   English   中英

Google Cloud - Django - OSError: [Errno 30] 只读文件系统

[英]Google Cloud - Django - OSError: [Errno 30] Read-only file system

我已经在谷歌云上部署了我的 django 项目。 我的应用程序的一个模块涉及上传文件。 当我在本地服务器上上传文件时,文件已成功上传,但是当我尝试从生产服务器上传文件时,出现以下错误:

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 来持久存储文件。

io 模块提供了 Python 处理各种类型 I/O 的主要工具。

尝试使用它

import io

io.BytesIO(some_data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM