[英]Azure Function - Exception: OSError: [Errno 30] Read-only file system:
[英]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.