当前位置: 首页 > 知识库问答 >
问题:

通过express中间件提供来自google-cloud-storage的静态文件

濮阳研
2023-03-14

我有一个express应用程序托管在googleAppEngine上,它使用express静态中间件。我希望将静态文件存储在google-cloud-storage上,并且能够从常规文件系统切换到google-cloud-storage而无需太多修改。

我在考虑编写一个中间件:

  • 使用Google Cloud client library for Node.js,类似于Express缓存来自Google Cloud Storage的图像流);
  • 或充当代理(将路径名映射到原始google-cloud-storageURL)。

有没有更简单/更干净的方法来做到这一点?

共有1个答案

宓毅庵
2023-03-14
// Add headers to describe file
let headers = {
   'Content-disposition': 'attachment; filename="' + 'giraffe.jpg' + '"',
   'Content-Type': 'image/png'
};

// Streams are supported for reading files.
let remoteReadStream = bucket.file('giraffe.jpg').createReadStream();

// Set the response code & headers and pipe content to response
res.status(200).set(headers);
remoteReadStream.pipe(res);
 类似资料:
  • 问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了

  • 问题内容: 这是我的项目文件夹 这是我index.js中的静态文件配置 这是我的index.html 这是我的nginx配置 但是我在所有脚本上都得到404。另一个奇怪的是,这些文件上的mime-type设置为 我在这里做错了什么? 我有一个项目,该项目具有相同的项目结构,并且具有相同的配置,但它适用于此项目,在这种情况下不起作用。 问题答案: 您无需配置Nginx 和 Express即可提供静态

  • 问题内容: 我正在构建Node.js应用程序,并且正在使用nginx作为反向代理。我的应用程序有一些我需要提供服务的静态文件和一个Socket.io服务器。 我知道我可以直接使用Express服务静态文件(使用express.static中间件)。另外,我可以将nginx直接指向我的静态文件所在的目录,以便由nginx提供服务。 所以,问题是:哪种方法更好?使用每种方法时,我可以面对哪些利弊? 问

  • 问题内容: 我想在localhost上的gunicorn下运行django项目。我安装并集成了Gunicorn。当我跑步时: 它可以工作,但是没有任何静态文件(css和js) 我在settings.py中禁用了debug和template_debug(将它们设置为false),但是仍然相同。我想念什么吗? 我称静态为: 问题答案: 在开发模式下以及使用其他服务器进行本地开发时,请将其添加到url.

  • 问题内容: 我想和到App Engine的工作之外。这些模块是否需要App Engine才能正常运行?我想在Google Cloud Storage上为图像创建公共的但不可猜测的URL,并通过Django提供它们。 我了解到这是通过和完成的。这是我到目前为止所拥有的: 并且image_url应该是我的图像的公共但不可猜测的URL。如果我运行此代码,则错误为 这表明blobstore需要代理(也称为

  • Spring boot不提供放置在jar中的静态文件。 我有一个后端应用程序,我决定添加前端。设置任务以将静态前端文件复制到 。在SO上经历了一堆答案,他们都建议静态内容(索引.html,.js和.css文件)应该驻留在或下,我都尝试过。我打开构建的.jar,静态文件在那里,但是使用启动应用程序.jar并打开给了我默认的白标错误页面。我的应用程序工作,因为我可以访问我在其上运行的API。应用程序没