Google Cloud Webapp 使用用户上传的文件进行处理

Google Cloud Webapp to use a user uploaded file for processing

我最近将我的项目从 heroku 转移到 google 云。它是用 flask 编写的,基本上对上传的 .docx 文件做一些文本摘要(没什么特别的)。由于 heroku 的临时文件系统,我能够在本地使用文件。

使用 google 云,发现自己在尝试使用上传的文件和 运行 python 功能时迷路了。

我得到的错误是: with open(self.file, 'rb') as file: FileNotFoundError: [Errno 2] 没有这样的文件或目录: 'http://storage.googleapis.com/...'

暂时编辑了细节,但当我在浏览器中打开 link 时,它会显示下载 window。自从我进入 google 云端后,我就知道文件已到达那里,并且所有内容都在正确的存储桶中。

还有没有办法在 python 浏览文档后立即从存储桶中删除?目前已将生命周期设置为一天,但只需要数据暂时运行。

如果这些问题很愚蠢,我很抱歉。对此很陌生,正在努力学习。

谢谢

哦,这是当前代码

gcs = storage.Client()
user_file = request.files['file']
local = secure_filename(user_file.filename)
blob = bucket.blob(local)
blob.upload_from_string(user_file.read(),content_type=user_file.content_type)
this_file = f"http://storage.googleapis.com/{CLOUD_STORAGE_BUCKET}/{local}"

那么一个函数应该打开this_file

返回了一个public_url要处理和使用的文件名

   def open_file(self):
    url = self.file
    file = BytesIO(requests.get(url).content)
    return docx.Document(file)